【发布时间】:2019-01-29 18:21:42
【问题描述】:
我正在尝试从 HTML 中为许多页面提取此数据(数字)。每个页面的数据都不同。当我尝试使用 soup.select('span[class="pull-right"]') 它应该给我数字,但只有标签来了。我相信这是因为网页中使用了 Javascript。 180,476 是我想要用于许多页面的特定 HTML 中的数据位置:
<div class="legend-block--body">
<div class="linear-legend--counts">
Pageviews:
<span class="pull-right">
180,476
</span>
</div>
<div class="linear-legend--counts">
Daily average:
<span class="pull-right">
8,594
</span>
</div></div>
我的代码(这是在一个循环中适用于许多页面):
res = requests.get(wiki_page, timeout =None)
soup = bs4.BeautifulSoup(res.text, 'html.parser')
ab=soup.select('span[class="pull-right"]')
print(ab)
输出:
[<span class="pull-right">\n<label class="logarithmic-scale">\n<input
class="logarithmic-scale-option" type="checkbox"/>\n Logarithmic scale
</label>\n</span>, <span class="pull-right">\n<label class="begin-at-
zero">\n<input class="begin-at-zero-option" type="checkbox"/>\n Begin at
zero </label>\n</span>, <span class="pull-right">\n<label class="show-
labels">\n<input class="show-labels-option" type="checkbox"/>\n Show
values </label>\n</span>]
我想要浏览量
【问题讨论】:
-
您可能需要
selenium来提取该值 -
哇....有什么区别? .stackoverflow.com/questions/51982930/…
标签: javascript python html web-scraping beautifulsoup