Как вставить атрибут с помощью BeautifulSoup? - PullRequest
3 голосов
/ 10 февраля 2011

Как вставить атрибут с помощью BeautifulSoup?

Например, вставить border = "1" в качестве атрибута тега.

EDIT:

Я ответил на свой вопрос (даже для определенного класса стола):

inTopic = urllib2.urlopen ("файл: /// C: /test/test.html") content = BeautifulSoup (inTopic)

tlist = content.findAll ('table', "myTableClass") для tbl в tlist: tbl ['border'] = "1" print tbl.attrs

Ответы [ 2 ]

4 голосов
/ 03 сентября 2011

Как насчет:

inTopic = urllib2.urlopen('/3218953/kak-vstavit-atribut-s-pomoschy-beautifulsoup')
content = BeautifulSoup.BeautifulSoup(inTopic)
tlist = content.findAll('table')
for tbl in tlist:
    tbl.attrs.append(('border', 1))

Не забудьте попробовать lxml.html, он быстрый и хорошо разбирается.

1 голос
/ 09 августа 2018

с node.attrs['myNewAttr'] = 'my_new_value' например:

content = BeautifulSoup(text, 'html.parser')
links = content.findAll('a') 
for node in links:
    node.attrs['myNewAttr'] = 'my_new_value'

в этом случае:

<ul>
   <li><a>text</a</li>
   <li><a>text</a</li>
</ul>

вернется

<ul>
   <li><a myNewAttr="my_new_value">text</a</li>
   <li><a myNewAttr="my_new_value">text</a</li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...