Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2015 00:56:16

ORPIX
Зарегистрирован: 2015-01-10
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить курс валют

Здравствуйте,написал тут не большой скриптик http://pastebin.com/v5Zh7B5h,ответом его работы является

[<valute id=“R01235”>
<numcode>840</numcode>
<charcode>USD</charcode>
<nominal>1</nominal>
<name>Доллар США</name>
<value>56,2376</value>
</valute>

Помогите пожалуйста,как отсюда извлечь значение value и записать его в переменную?Уже многое пробовал,но не чего не получается(пожалуйста не тыкайте носом в документацию,я только оттуда пришел)

Офлайн

#2 Янв. 10, 2015 02:18:14

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Спарсить курс валют

замените на

rows = soup.find(id="R01235").find('value').text



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Янв. 10, 2015 13:28:16

ORPIX
Зарегистрирован: 2015-01-10
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить курс валют

terabayt
замените на
Спасибо большое)Подскажите а как мне можно значение rows записать в переменную какую-нибудь,чтобы я мог использовать это число дальше в коде,а не только в функции parse(),мне нужно отдельно от этой функции использовать число rows?

Офлайн

#4 Янв. 10, 2015 16:13:40

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Спарсить курс валют

def parse(xml):
    soup = BeautifulSoup(xml)
    rows = soup.find_all(id="R01235")
    return rows
def main():
    rows = parse(get_xml('http://www.cbr.ru/scripts/XML_daily.asp?date_req='+data))
    print(rows)
    



————————————————
-*- Simple is better than complex -*-

Отредактировано terabayt (Янв. 10, 2015 16:14:03)

Офлайн

#5 Янв. 10, 2015 16:23:29

ORPIX
Зарегистрирован: 2015-01-10
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить курс валют

terabayt
И последний вопрос,а как привести переменную rows теперь к числу? пробовал
def main():
    rows = parse(get_xml('http://www.cbr.ru/scripts/XML_daily.asp?date_req='+data))
    print(100+int(rows))
выдает ошибку?Что можно почитать по этой теме?И как правильно записать?

Офлайн

#6 Янв. 10, 2015 16:44:10

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Спарсить курс валют

rows = float(rows.replace(',','.'))



————————————————
-*- Simple is better than complex -*-

Офлайн

#7 Янв. 10, 2015 17:03:10

ORPIX
Зарегистрирован: 2015-01-10
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить курс валют

terabayt
Огромное спасибо)Щас читал и понял что все дело в запятой,не думал,что это так легко решается,думал уже строку перебирать всю)

Офлайн

#8 Март 2, 2015 06:45:10

kuchnaii
Зарегистрирован: 2015-03-02
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить курс валют

Спасибо большое)Подскажите а как мне можно значение rows записать в переменную какую-нибудь,чтобы я мог использовать это число дальше в коде,а не только в функции parse(),мне нужно отдельно от этой функции использовать число rows?



Get Braindumps demos for Testking asvab practice test and passguide with 100% success itil foundation Our high quality fcc prepares you well before appearing in the final exams of Stanford University

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version