Я хочу, чтобы извлечь некоторые значения из веб-сайта и конкретные элементыПопадая пустые возвращается с Python веб-соскоб
<div class="float_l dcMsg">
<div class="float_l" style="margin-right: 5px; min-width: 105px;">Slow Stochastic(20,5)</div>
<div class="float_l ind-color-box" style="margin-right: 5px; background: rgb(242, 38, 31);"></div>
<div class="float_l" style="margin-right: 5px; min-width: 105px;">%K: 33.996</div>
<div class="float_l ind-color-box" style="margin-right: 5px; background: rgb(0, 255, 0);"></div>
<div class="float_l" style="margin-right: 5px; min-width: 105px;">%D: 18.393</div>
</div>
Значения я хочу находятся на 4-й строке (т.е. 33.996) и 6-й линии (т.е. 18,393).
Эти цифры, которые я хочу, на самом деле находятся на динамической диаграмме, но я не знаю, является ли это из javascript. Число будет обновляться до последнего значения после того, как я нажал определенную кнопку на веб-странице, и соответственно изменится значение чисел из элемента. Кроме того, когда я наводил курсор на график, цифры меняются.
Однако веб-страница не будет перезагружена, но только часть номеров элемента страницы будет изменена после нажатия кнопки.
Я пробовал этот код, но он возвращает [].
import urllib
import re
htmltext = urllib.urlopen("http://www.example.com").read()
regex = '<div class="float_l" style="margin-right: 5px; min-width: 105px;">(.+?)</div>'
pattern = re.compile(regex)
results = re.findall(pattern,htmltext)
print results
Я также попытался использовать BeautifulSoup, но он также возвращает [].
import bs4 as bs
import urllib
sauce = urllib.urlopen('http://www.example.com').read()
soup = bs.BeautifulSoup(sauce,'html.parser')
results = soup.findAll('div',style='margin-right: 5px; min-width: 105px;')
print results
Основываясь на информации, которую вы дали, вы * возможно * хотите использовать [Селен] (http://stackoverflow.com/questions/17540971/how-to-use -selenium-с-Python). BeautifulSoup не обрабатывает динамически загруженные или измененные значения – Wondercricket
Ha! .... У меня нет ничего полезного, но мне нужно сказать привет. – Kelvin