Всем доброго времени суток!)
Я хочу рассказать вам немонжко о веб-скрейпинге. Что это такое, какие библиотеки использовать и покажу пару примеров моего кода. Возможно, в будущем выйдет серия из нескольких обучающих статей на эту тему.
Web scraping/parsing/scraping/парсинг/парсеры
Все это одно и то же. Это сбор данных с html страниц сайта, можно это делать и вручную, но как правило пишут код.
Работает очень просто:
1) Отправляем get запрос на наш сайт. В ответ получаем html-страницу.
2) Парсим эту html страничку как обычную строчку в Python.
3) Куда-нибудь записываем наши данные
Для этого я использую три библиотеки.
Это requests - одна из самых популярных сторонних библиотек на python. С помощью нее мы будем отправлять запросы на сайт и возвращать html-страницы.
BeautifulSoup4. Также популярная библиотека, с ее помощью будем уже собирать данные из нашего html'a. Для ее работы нужно установить библиотеку lxml.
И наконец единственная стандартная библиотека из этого списка - это csv. Благодаря ей, мы будем записывать полученные нами данные в csv-файлы.
Вот так выглядит до недавнего времени рабочий парсер авито:
Возможно, вы спросите почему так много блоков try except. Если мы парсим большое количество страниц, соответственно большое количество объявлений (в случае с авито). У нас попросту может какой-то из критериев отсутствовать в объявлении и вылетать исключение.
Например цена, часто можно встретить, что продавец не указывает цену, а мы ее собираем. Если это не обработать, то у нас постоянно будут вылетать исключения.
Спасибо за внимание!) Всем peace.