Web Parsing. Основы на Python

Рассмотрим еще один практический кейс парсинга сайтов с помощью библиотеки BeautifulSoup: что делать, если на сайте нет готовой выгрузки с данными и нет API для удобной работы, а страниц для ручного копирования очень много?

Web Parsing. Основы на Python
66

Парсер можно писать на чем угодно. Да и библиотеки не всегда нужны, использовал раньше только ssl для https. В некоторых случаях проще писать свой код. Единственное, что хорошо бы иметь - параллельные потоки и прокси. Писал давно универсальный парсер, столкнулся с неприятным моментом ошибок в коде доноров, отсутствии закрывающих тегов или генерации страниц скриптами. Решил гибкой системой настроек паттернов, в приложении добавил редактор данных в таблице, куда заносятся паттерны для поочередной обработки данных. Для увеличения скорости добавил стоп-паттерн (та уникальная часть кода страницы, после которой нет нужных данных), после которого не нужно ждать окончания загрузки, а можно сразу работать с кодом страницы. И для ускорения именно разбора добавил старт-позицию до которой не нужно анализировать данные. Ну ещё счетчик страниц, автосохранение данных и настроек и т.п.

5
Ответить