使用BeautifulSoup获取标记名称

时间:2013-10-24 07:06:46

标签: python beautifulsoup

from bs4 import BeautifulSoup
source_code = """<a href="#" name="linkName">ok</a>"""
soup = BeautifulSoup(source_code)
print soup.a.? #find the object name

使用上面显示的代码,我正在尝试打印锚标记'name',即linkName,但我不确定我将使用哪个模块或对象,我试过contentsnametag_name_re

有人可以帮帮我吗?谢谢!

2 个答案:

答案 0 :(得分: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"])

答案 1 :(得分: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