2012-05-29 3 views
1

Я пытаюсь использовать BeautifulSoup, чтобы получить список тэгов HTML, а затем проверить, есть ли у них атрибут имени, а затем вернуть это значение атрибута. Посмотрите мой код:BeautifulSoup, получить список тегов и получить значения атрибутов

soup = BeautifulSoup(html) #assume html contains <div> tags with a name attribute 
nameTags = soup.findAll('name') 
for n in nameTags: 
    if n.has_key('name'): 
     #get the value of the name attribute 

Мой вопрос: как получить значение атрибута имени?

Заранее спасибо Ruth

ответ

5

Используйте следующий код, он должен работать

nameTags = soup.findAll('div',{"name":True}) 
for n in nameTags: 
    # Do your processing 
+0

Спасибо, Рамеш, ваш код выше будет работать, но я хотел бы знать, как получить значение атрибута – Ruth

1

На будущее, вот код использовать в качестве одного ответа:

soup = BeautifulSoup(html) 
nameTags = soup.findAll('div',{"name":True}) 
for n in nameTags: 
    name = n['name'] 
    # Do your processing 

Передача второго аргумента {"name":True} ограничивает результаты тегами div, которые имеют атрибут name. Если вы искали теги, которые имели определенное значение для тега name, вы можете пройти {"name":"specificNameValue"}

Смежные вопросы