如何使用BeautifulSoup插入属性?

时间:2011-02-09 22:30:55

标签: python beautifulsoup

如何使用BeautifulSoup插入属性?

例如,插入border =“1”作为标记属性。

编辑:

我已经回答了我自己的问题(对于特定类别的表,甚至):

inTopic = urllib2.urlopen(“file:/// C:/test/test.html”) content = BeautifulSoup(inTopic)

tlist = content.findAll('table',“myTableClass”) 对于tlist中的tbl:     tbl ['border'] =“1”     print tbl.attrs

2 个答案:

答案 0 :(得分:4)

怎么样:

inTopic = urllib2.urlopen('http://stackoverflow.com/questions/4951331/how-do-i-insert-an-attribute-using-beautifulsoup')
content = BeautifulSoup.BeautifulSoup(inTopic)
tlist = content.findAll('table')
for tbl in tlist:
    tbl.attrs.append(('border', 1))

不要忘记尝试lxml.html,它很快并且解析得很好。

答案 1 :(得分:0)

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>