嘿,这是我的设置:Spyder 3.3.1/beauthoulsoup4/python3.6
下面的代码来自一篇关于medium(here)的文章,内容是关于使用python和Beautifulsoup进行web清理。本来应该是一个快速阅读,但现在两天后,我仍然无法让代码在spyder中运行并继续获取:
File "/Users/xxxxxxx/Documents/testdir/swiftScrape.py", line 9, in table_to_df
return pd.DataFrame([[td.text for td in row.findAll('td')] for row in table.tbody.findAll('tr')])
AttributeError: 'NoneType' object has no attribute 'tbody'
不确定出了什么问题,似乎是一个实现错误。有谁能帮忙解释一下这个问题吗。在
提前谢谢。在
^{pr2}$
就像在web上找到的一个丢失的示例代码一样,这段代码不是产品级代码—它盲目地假设http请求总是成功的并返回预期的内容。事实上,通常情况并非如此(网络错误、代理或防火墙阻止您,站点关闭—暂时或肯定,站点更新更改了URL和/或页面标记等)。在
你的问题表现在:
来自
^{pr2}$table
实际上是None
,这意味着在for循环中:在html文档中找不到id为“tableID”的“table”标记。您可以通过打印实际的html内容来检查:
感谢@bruno deshuilliers的指点。非常感谢。在
这是我使用Selenium和webdriver而不是
import requests
重写的代码:相关问题 更多 >
编程相关推荐