美丽的汤得到tag.id

klr*_*her 16 html python beautifulsoup html-parsing

我试图从页面中获取div id列表.当我打印出属性时,我会列出ID.

for tag in soup.find_all(class_="bookmark blurb group") :
  print(tag.attrs)
Run Code Online (Sandbox Code Playgroud)

结果是:

{'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']}
Run Code Online (Sandbox Code Playgroud)

所以我知道有些ID.但是,当我打印出tag.id时,我只得到一个"无"列表.我在这做错了什么?

ale*_*cxe 22

您可以通过将标记视为字典(文档)来访问标记的属性:

for tag in soup.find_all(class_="bookmark blurb group") :
    print tag.get('id')
Run Code Online (Sandbox Code Playgroud)

原因tag.id不起作用的是它等同于tag.find('id'),None因为没有id找到标签(文档).