簡體   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