我试图从一个网页上同时刮2表。 BeautifulSoup找到第一个表没问题,但是不管我怎么尝试都找不到第二个表,这里是网页:Hockey Reference: Justin Abdelkader。你知道吗
这是季后赛头球下方的桌子。你知道吗
这是我的密码。你知道吗
sauce = urllib.request.urlopen('https://www.hockey-reference.com/players/a/abdelju01/gamelog/2014', timeout=None).read()
soup = bs.BeautifulSoup(sauce, 'html5lib')
table = soup.find_all('table')
print(len(table))
总是打印1。你知道吗
如果我打印(汤),并使用我的终端搜索功能,我可以找到2个单独的表标签。我没有看到任何javascript会妨碍BS4找到标记。我也尝试过按id和class查找表,甚至表的父div似乎也无法找到。有人知道我做错了什么吗?你知道吗
因为javascript加载了额外的信息
现在requests_html可以加载html页面和javascript内容。你知道吗
看起来该表是一个小部件-单击“共享更多”->;“嵌入此表”,您将得到一个带有以下链接的脚本:
https://widgets.sports-reference.com/wg.fcgi?css=1&site=hr&url=%2Fplayers%2Fa%2Fabdelju01%2Fgamelog%2F2014&div=div_gamelog_playoffs
我们如何解析它?你知道吗
瞧!你知道吗
第二个表似乎位于HTML注释标记
<--... <table class=...
中。我想这就是为什么美团找不到它。你知道吗相关问题 更多 >
编程相关推荐