繁体   English   中英

如何使用Python Beautiful Soup获取html的标记名称?

[英]How to get the tag name of html using Python Beautiful Soup?

header = head.find_all('span')

[<span itemprop="name">Raj</span>, <span itemprop="street">24 Omni  Street</span>, <span itemprop="address">Ohio</span>, <span itemprop="Region">US</span>, <span itemprop="postal">40232</span>, <span class="number">334646344</span>]

print (header[0].tag)
print(header[0].text)

####output
None
Raj
...

####Expected output
Name
Raj
...

我无法提取跨度itemprop的所有值。 它使我无输出。 难道我做错了什么?

谢谢,拉杰

是的, class 'bs4.element.Tag'没有tag属性,因为它本身就是 Tag 从文档:

您可以通过将标签视为字典来访问标签的属性。

因此,您已经获得了所有span标签的列表,现在只需遍历该列表并获取所需的属性即可(即'itemprop' ):

spans = head.find_all('span')

for span in spans:
    try:
        print(span['itemprop'].decode().title() + ': ' + span.text)
    except KeyError:
        continue 

输出:

Name: Raj
Street: 24 Omni  Street
Address: Ohio
Region: US
Postal: 40232

格式化输出或根据需要存储数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM