gpt4 book ai didi

python - 用 BeautifulSoup 刮表

转载 作者:行者123 更新时间:2023-11-30 23:00:51 25 4
gpt4 key购买 nike

在第一个代码中,我可以使用 BS 来获取感兴趣的表中的所有信息:

from urllib import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://www.pythonscraping.com/pages/page3.html")
soup = BeautifulSoup(html)

for i in soup.find("table",{"id":"giftList"}).children:
print child

打印产品列表。

我想打印tournamentTable中的行here (所需信息位于 class=deactivateclass=odd deactivate 中,日期位于 class=center nob-border 中):

from urllib import urlopen
from bs4 import BeautifulSoup

html = urlopen("http://www.oddsportal.com/hockey/russia/khl/results/#/page/2.html")
soup = BeautifulSoup(html)

#for i in soup.find("table",{"id":"tournamentTable"}).children:
# print i
for i in soup.find("table",{"class":"table-main"}).children:
print i

但那是在页面上打印其他表格。当我尝试使用 {"id":"tournamentTable"} 指定感兴趣的表格时,它返回 Nonetype

我错过了什么,无法访问所需的表格及其中的信息?

最佳答案

urllib.urlopen返回网页内容时,它会从关闭JavaScript的URL返回HTML。。就您而言,这意味着当 urllib 加载相关 URL 时,带有 id="tournamentTable" 的表格实际上从未加载。

您可以通过在浏览器中关闭 JavaScript 并加载 URL 来观察此行为。

要抓取由 JavaScript 呈现的内容的网页,您可能需要考虑使用浏览器自动化包,例如 Selenium。如果您定期抓取,您可能还需要下载一个“JavaScript 切换器”插件,它可以让您轻松打开和关闭 JavaScript。

关于python - 用 BeautifulSoup 刮表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35119529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com