使用Beautiful Soup获取标签ID
我正在尝试从一个页面获取所有的div的id。当我打印出这些属性时,确实能看到id的列表。
for tag in soup.find_all(class_="bookmark blurb group") :
print(tag.attrs)
结果是:
{'id': 'bookmark_8199633', 'role': 'article', 'class': ['bookmark', 'blurb', 'group']}
{'id': 'bookmark_7744613', 'role': 'article', 'class': ['bookmark', 'blurb', 'group']}
{'id': 'bookmark_7338591', 'role': 'article', 'class': ['bookmark', 'blurb', 'group']}
{'id': 'bookmark_7338535', 'role': 'article', 'class': ['bookmark', 'blurb', 'group']}
{'id': 'bookmark_4530078', 'role': 'article', 'class': ['bookmark', 'blurb', 'group']}
所以我知道确实存在这些id。然而,当我打印出tag.id的时候,却只得到一堆“None”。我这是哪里出错了呢?
2 个回答
3
这个解决方案会列出页面中所有带有id的标签,这可能也会很有帮助。
tags = page_soup.find_all()
for tag in tags:
if 'id' in tag.attrs:
print(tag.name,tag['id'],sep='->')