У парсинга есть такой налет чего то не очень хорошего. Типа мы воруем чью то информацию. Однако это не всегда ведь так. Часто владение базовыми навыками парсинга — это лишь инструмент которым можно пользоваться и во благо. Сегодня я покажу такой пример.

Парсинг hh.ru на Python — зачем?

Я решил попарсить известный сайт с вакансиями hh.ru (HeadHunter). Дело в том что они совершенно бесплатно отдают очень интересную информацию о количестве вакансий и резюме по ключевому слову. Возможно во многих других сферах это малополезно. Однако в ИТ это крайне полезно. Можно забить в поиск название технологии (языка, сервиса, метода и т.д.) и увидеть соотношение вакансий с этой технологией против резюме. Если работодателей которые хотят специалистов с этой технологией много, а соискателей мало, то, возможно, это наш вариант повысить свои шансы найти интересную работу.

А если вы только на пути в ИТ, то это шанс зайти не с главного входа где толпятся тысячи обладателей сертификатов курсов, а откуда то с запасного входа для своих.

То что получилось я снял в коротком ролике на канале Azzrael Code:

XPath + lxml + requests

Для парсинга я использовал те же приемы что подробно описывал в этом видео. Т.е. это Python на чистых requests. Я нужные данные из html забирал с помощью XPath запросов с использованием библиотеки lxml. hh.ru не слишком сильно защищается от парсинга и чтобы запросы проходили успешно достаточно указать подходящий User Agent (я брал свой живой из Developer Tools Google Chrome).

Код в видео слишком примитивный, но если он вам нужен, то напишите в комментариях к видео и я его причешу и выложу.

UPD. Код ниже (слегка причесал, поэтому отличается от того что в видео):