2017-01-15 2 views
0

Я работаю в Python 2, и у меня есть следующий сценарий:удаление HTML-теги вывода Python

from bs4 import BeautifulSoup 
import requests, re 

page = "http://hidden.com/example" 
headers = {'User-Agent': 'Craig'} 
html = requests.post(page, headers=headers) 

soup = BeautifulSoup(html.text, "html.parser") 

final = soup.find('p',{'class':'text'}) 

print final 

Это работает на веб-сайте, который я не собираюсь пост публично, он возвращает это.

<p>Example text <a href="example">Example</a> more example <a href="second example">Second example</a></p> 

Как бы я удалить <p> и <a href=""> теги? И какие-нибудь другие теги скрываются?

ответ

-1

Я предлагаю вам проверить теги html с помощью регулярного выражения и заменить их пустой строкой.

reg = r '\ < \ * [^>] +>'. Кажется, это работает.

+0

«Использование регулярного выражения для анализа HTML чревато подводными камнями». http://stackoverflow.com/questions/3790681/regular-expression-to-remove-html-tags – DyZ

0

Теги bs4 имеют атрибут .strings, который является генератором для всех строк в теге.

print(''.join(final.strings)) 
# Example text Example more example Second example 
Смежные вопросы