我已经研究了大多数类似问题的解决方案,但还没有找到一个有效的解决方案,更重要的是,我还没有找到一个解释,解释为什么除了Javascript或其他东西在网站上被调用时会出现这种情况。
我正试图从网站上为游戏“官员”刮桌子: http://www.pro-football-reference.com/boxscores/201309050den.htm
我的代码是:
url = "http://www.pro-football-reference.com/boxscores/201309050den.htm"
html = urlopen(url)
bsObj = BeautifulSoup(html, "lxml")
officials = bsObj.findAll("table",{"id":"officials"})
for entry in officials:
print(str(entry))
我只是暂时打印到控制台,但是我得到了一个带有findAll的空列表,或者没有带有find的空列表。 我还用basic html.parser尝试过这个方法,但没有成功。
对html有更好理解的人能具体告诉我这个网页有什么不同吗?提前谢谢!
请尝试以下代码:
它将打印:
你看不到是因为不在那里。尝试turn JS关闭并用浏览器打开它,您将看到它不在那里-网站进行一些JS DOM操作。
你的选择是:
它在源代码中,只是被注释掉了,使用regex移除注释很简单:
只有一个表,所以您不需要全部查找,而且您的循环有点无意义,只需使用find:
相关问题 更多 >
编程相关推荐