如何使用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
答案 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>