2013-10-24 33 views
2
from bs4 import BeautifulSoup 
source_code = """<a href="#" name="linkName">ok</a>""" 
soup = BeautifulSoup(source_code) 
print soup.a.? #find the object name 

使用上面顯示的代碼獲取標籤名稱,我試圖打印錨標籤的名字',這是linkName,但我不知道我將使用該模塊或對象,我都試過contentsnametag_name_re與BeautifulSoup

有人可以幫我嗎?謝謝!

+0

您是否打印soup.a? – 2013-10-24 07:07:51

+0

是的,它打印了'ok'。 我會給'soup.a ['name']'一去! – vjgaero

+1

好吧,那麼工作,你是非常歡迎使用它作爲答案,因爲我不能回答我自己的問題再過8個小時。 – vjgaero

回答

4

您已經回答了您的問題。

soup.a['name'] 

編輯

如果你有一個以上的a元素,你可以這樣做:

x = """<x><a name="foo"/><a name="bar"/></x>""" 
s = bs4.BeautifulSoup(x) 
for a in s.findChildren("a"): 
    print(a["name"]) 
0
from bs4 import BeautifulSoup 
source_code = """<a href="#" name="linkName"><i><b>ok</b></i></a>""" 
soup = BeautifulSoup(source_code) 
for tag in soup.findChildren(): 
    print tag.name 

findChildren()函數將返回其擁有的所有列表兒童標籤。

[<a href="#" name="linkName"><i><b>ok</b></i></a>, <i><b>ok</b></i>, <b>ok</b>] 

然後迭代列表以獲取每個標籤名稱。

Output 
    a 
    i 
    b 
+1

你能否爲OP添加一些解釋文字來理解你的代碼?謝謝 – Paco

+0

@Paco,感謝您的寶貴意見,現在我已經更新了我的答案。 – vicky

+0

沒問題,謝謝 – Paco