BeautifulSoup在父DIV的子DIV中添加新标记

时间:2016-08-30 23:08:49

标签: python html parsing beautifulsoup

我是BeautifulSoup的初学者,现在我正在尝试将新标签插入父div的子div中。

基本上我有这个HTML代码段:

+---------+----------+---------+-------+
| dev_id  | .Net     | Python  | Count |
+---------+----------+---------+-------+
|       1 | .Net     | Walmart | 2     |
|       1 | .Net     | Target  | 2     |
|       1 | Python   | Walmart | 1     |
|       1 | Python   | Target  | 0     |
|       2 | .Net     | Walmart | 0     |
|       2 | .Net     | Target  | 1     |
|       2 | Python   | Walmart | 0     |
|       2 | Python   | Target  | 1     |
+---------+----------+---------+-------+

这是我目前的代码:

 <div class=page-content>
  <div class="content-block">
   //Insert here!
  </div>
 </div>

我可以获取页面内容和他的孩子内容块DIV,但是附加功能没有做任何事情,这是我得到的输出:

    soup = BeautifulSoup(open("index.html"), "lxml")

    div_page_content = soup.find("div", { "class" : "page-content" })
    content_block = div_page_content.findChildren()

    button_active = soup.new_tag('a')
    button_active.attrs['class'] = 'button active'
    button_active.append('This is a new button!')

    content_block.append(button_active)
    print content_block

2 个答案:

答案 0 :(得分:0)

发现问题,我必须使用findNext而不是findChildren。现在附加工作正常。

答案 1 :(得分:-1)

您确定错误并不是因为您在课堂上遗漏了引号吗?您已撰写<div class=page-content> 而非<div class="page-content">