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的所有值。它使我无输出。我在做错什么吗?
谢谢, 拉吉
答案 0 :(得分:2)
是的,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
根据需要设置输出格式或存储数据