我目前正试图循环使用一个大约有1000行的数据帧。每行调用一个网站。到现在为止,一直都还不错。然而,当我试图从网站中提取特定的数据条目时,它在100次循环后停止工作,有时在300次循环后停止工作。我目前的代码是:
for i in rows:
url = "https://www.boerse-stuttgart.de/en/products/investment-products/discount-certificates/stuttgart/{}".format(i)
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
first_day = soup.find("dt", text="First exchange day").findNext('dd').string
行是我使用的数据帧。我总是得到错误“'NoneType'对象没有'findNext'属性”。我的标签搜索有问题吗?我需要的数据输入在dd标签中,但现在有了具体的名称,我可以直接搜索到它。非常感谢您的帮助
你得到
'NoneType' object has no attribute 'findNext'
是因为你在对不存在的东西调用.findNext()
如果页面上没有带有文本
First exchange day
的dt
元素,则此行soup.find("dt", text="First exchange day")
返回
None
。当您尝试调用此None
值上的.findNext()
时,会出现错误您需要添加一个签入,确保您确实在页面上找到了
dt
元素;如果你找到它,那么就做findNext()
。如果你没有,那就跳过这一步当您试图在数据不存在的行中查找数据时,会发生此错误
如果数据可用,执行上述更改将使您能够提取数据,否则它将只打印不可用的数据。您也可以使用
if-else
,但这是最简单的方法相关问题 更多 >
编程相关推荐