Как удалить из HTML файла лишние блоки?

У меня есть 1000 HTML страниц.

Как я могу удалить из HTML файла лишние блоки и оставить только тот, который изображен на скриншоте?

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Jack_oS

Пример для одного .html файла:

from bs4 import BeautifulSoup                              # импорт BeautifulSoup


with open('index.html', 'r') as f:
    html = f.read()                                        # чтение файла в html

soup = BeautifulSoup(html, 'html.parser')                  # объект Beautiful Soup
required_div = soup.find('div', class_='l-entry__content') # поиск искомого div-а по классу

with open('out.html', 'w') as f:
    f.write(required_div.prettify())                       # запись найденного в out.html

В out.html - только <div class="l-entry__content"> ... </div>:

введите сюда описание изображения

Скормите парсеру в цикле ваши тысячи .html файлов (меняя название выходного файла, например), - получите еще столько же...

Возможно, проще брать только нужное (текст статьи, автора, дату), и после обработки сохранять в csv все результаты сразу...

→ Ссылка