2015-01-22 6 views
3

Я пытаюсь создать файл python, который дает обновления в реальном времени. я попытался for l in code.findAll('span', {'id' : 'ChangePercent'}): для:неуместное поведение beautifulSoup

<span id="ChangePercent">-0.71%</span> 

он работал, источник: money.rediff.com/ но используя ту же технику на Yahoo Finance doenst работы .. т.е.

price = code.findAll('span', {'class' : 'yfi-price-change-green'}) 

не удается найти: <span class="yfi-price-change-green">(1.95%)</span>

источник: finance.yahoo.com/

два кода: Rediff: http://ideone.com/kslILJ Yahoo: http://ideone.com/egGQLv

ответ

1

Значения вы ищете на Yahoo Finance Страница периодически обновляется через API вызова потокового в браузере. Вы не получили бы эти значения, просто запросив код Reliance Industries Ltd (RELIANCE.NS), используя urllib или requests.

Наименее сложным вариантом было бы автоматизировать реальный браузер с помощью selenium:

>>> from selenium import webdriver 
>>> 
>>> driver = webdriver.Chrome() 
>>> driver.get('https://in.finance.yahoo.com/q?s=RELIANCE.NS&ql=0') 
>>> for element in driver.find_elements_by_class_name('yfi-price-change-green'): 
...  print(element.text) 
... 
0.55% 
0.40% 
+0

спасибо за полезные входы alecxe, только один Ques, даже если HTML Sorce обновления на источник Yahoo, FindAll должен быть в состоянии найти ' findAll ('span', {'class': 'yfi-price-change-green'}) 'как это делается на странице rediff, так как изменяется только цена акций, так что это отличает два случая. – FreakAtNs

+0

@FreakAtNs эти два случая совершенно разные с точки зрения методов, используемых для формирования и отображения страницы, доставки ставок, обновления ставок и т. Д. Yahoo определенно затрудняет автоматизацию/очистку. – alecxe

+0

получил это @alecxe, я был склонен к rediff, так как его легче извлекать данные, я намереваюсь распечатать список различных цен на акции, с именами акций в качестве входных данных, его почти сделали, если я использую python для печати результатов поиска google (будет найти ссылку rediff там), я попробовал googpy, но его устаревший, не могли бы вы рассказать мне об этом, если я продолжу .. – FreakAtNs

 Смежные вопросы

  • Нет связанных вопросов^_^