使用beautifulsoup和python删除某些标签

时间:2014-10-07 09:55:27

标签: python html beautifulsoup strip

问题

我正在尝试从BeautifulSoup下载的html文件中删除<h2><div class=...>等样式标记。我想保留标签包含的内容(如文本) 然而,这似乎不起作用。

我尝试了什么

for url in urls:
    response = requests.get(url, headers=headers)
    soup = BeautifulSoup(response.content, 'html.parser')
    table = soup.find("div", {"class": "product_specifications bottom_l js_readmore_content"})
    print "<hr style='border-width:5px;'>"
    for style in table.find_all('style'):
        if 'style' in style.attrs:
            del style.attrs['style']
    print table

我尝试使用

的网址

Python HTML parsing with beautiful soup and filtering stop words

Remove class attribute from HTML using Python and lxml

BeautifulSoup Tag Removal

1 个答案:

答案 0 :(得分:5)

您可以使用decompose()http://www.crummy.com/software/BeautifulSoup/bs4/doc/#decompose

如果您只想清除文字或保留从树中移除的元素,请使用clearextract(上面的描述已经分解)。