как удалить теги определенного класса? - PullRequest
0 голосов
/ 02 мая 2018

Я анализирую HTML-страницу, используя Beautifulsoup (python3.x) я пытаюсь получить данные из тегов

, для которых я написал

def getBody(url):
    html_page = requests.get(url)
    soup = BeautifulSoup(html_page.content, 'html.parser')
    Con = "".join([p.text for p in soup.find_all("p")])
    #print(Con)
return Con

но при этом я получаю текст из htmltag ниже. Как я могу удалить это?

<p class="notice">Comments are closed for this article.</p>

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете использовать decompose() или extract() для удаления тегов.

>>> from bs4 import BeautifulSoup
>>> html = '''
... <p>text</p>
... <p class="notice">Comments are closed for this article.</p>
... <p>text</p>
... <p class="notice">Comments are closed for this article.</p>
... <p>text</p>'''
>>> soup = BeautifulSoup(html, 'html.parser')
>>> for tag in soup.find_all('p', class_='notice'):
...     tag.decompose()
...
>>> soup

<p>text</p>

<p>text</p>

<p>text</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...