Как удалить из 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 все результаты сразу...

