weranda
@weranda

Как парсить (очищать/разбирать) HTML после граббинга?

Приветствую

Тренируюсь на кошках. С выдергиванием отдельных элементов со страницы все более или менее понятно, а вот с постобработкой сохраненного HTML кода — непонятно. Как его очищать от ненужных данных (ссылок, выделений, других тегов) я пока не понимаю. На ум приходят регулярные выражения и теоретически можно было бы ими воспользоваться, но не советуют.

Что делаю:
— Сохраняю Scrapy содержимое блока .mw-parser-output

Что непонятно:
— как удалить теги ссылок, выделений (жирный, курсив)
— как удалить блок содержания страницы
— как удалить все имеющие классы и идентификаторы
— как удалить целые блоки (примечания, литература, ссылки)
— в целом постобработка контента

Разумеется, можно было бы сразу при поиске элементов в Scrapy прописать:
//div[@class='mw-parser-output']/*[not(@class='toc' or @class='reflist not-references')]
исключили блок навигации и литературы

Но чую, что есть варианты гораздо правильней.
Поделитесь, пожалуйста, своими знаниями.
  • Вопрос задан
  • 1088 просмотров
Пригласить эксперта
Ответы на вопрос 2
никто не заморачивается с последующей очисткой :)
получил html и выдергивай оттуда то что тебе надо, структурируй и складывай в БД или другое место
scrapy построен также, у тебя есть прописанная конечная структура Items в которой описаны те данные, которые должны быть на выходе. и в процессе разбора html просто добавляешь нужные данные в эти Items. это все
Ответ написан
moonz
@moonz
web developer | seo | design
Правильный путь и есть конкретизация поиска, т.е отсеивание лишнего на этапе сбора данных а не после.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы