【问题标题】:How do I insert an attribute using BeautifulSoup?如何使用 BeautifulSoup 插入属性?
【发布时间】:2011-02-09 22:30:55
【问题描述】:

如何使用 BeautifulSoup 插入属性?

例如,插入border="1" 作为<table> 标记属性。

编辑:

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

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

tlist = content.findAll('table', "myTableClass")
for tbl in tlist:
    tbl['border'] = "1"
    print tbl.attrs

【问题讨论】:

  • 发布您的解决方案作为答案并接受它然后...?

标签: python beautifulsoup


【解决方案1】:

怎么样:

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,它速度快,解析好。

【讨论】:

    【解决方案2】:

    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>
    

    【讨论】:

      猜你喜欢
      • 2016-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多