2014-10-07 3 views
0

ВопросУдаление некоторых тегов с BeautifulSoup и питона

Я пытаюсь удалить теги стиль как <h2> и <div class=...> из моего HTML файл, который загружается на BeautifulSoup. Я хочу сохранить то, что содержит теги (например, текст) Однако это не работает.

Что я попробовал

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 

Urls я пытался работать с

Python HTML parsing with beautiful soup and filtering stop words

Remove class attribute from HTML using Python and lxml

BeautifulSoup Tag Removal

+0

Вы не объяснили, что не работает с вашим текущим решением. – Veedrac

+0

это стилизованный на его оригинальной странице. – user3671459

ответ

2

Вы можете использовать decompose(): http://www.crummy.com/software/BeautifulSoup/bs4/doc/#decompose

Если вы хотите, чтобы очистить только текст или сохранить элемент удаляется из дерева, используйте clear и extract (описание чуть выше разлагаются).

+0

Мне нужно сохранить его содержимое. Единственное, что я хочу удалить, это теги. потому что он стилирует мой документ, который мне не нужен – user3671459

+0

Так что, пожалуйста, объясните это, а не комментарии –

0

Вы ищете разворот().

your_soup.tag.unwrap()