我在使用Beautifulsoup解析带有“class”属性的HTML元素时遇到问题。代码如下所示
soup = BeautifulSoup(sdata)
mydivs = soup.findAll('div')
for div in mydivs:
if (div["class"] == "stylelistrow"):
print div
在脚本完成后的同一行出现错误。
File "./beautifulcoding.py", line 130, in getlanguage
if (div["class"] == "stylelistrow"):
File "/usr/local/lib/python2.6/dist-packages/BeautifulSoup.py", line 599, in __getitem__
return self._getAttrMap()[key]
KeyError: 'class'
如何消除此错误?
更新日期:2016 在最新版本的beautifulsoup中,“findAll”方法已重命名为 “全部查找”。Link to official documentation
因此答案是
您可以使用BS3优化搜索以仅查找具有给定类的div:
从文档中:
As of Beautiful Soup 4.1.2, you can search by CSS class using the keyword argument
class_
:在这种情况下是:
它还将适用于:
相关问题 更多 >
编程相关推荐