Как я сделал телеграмм-бота для массовых откликов на вакансии и что мне это дало

от автора

Началось все как у всех, с поиска работы. Изначально планировал собрать информацию об аккредитованных компаниях, чтобы в дальнейшем к ним устроится. При поиске обнаружил, что у HeadHunter уже реализован поиск по данному критерию. Супер, но я планировал собрать контактные данные, решил ознакомиться с API HH.

Сбор информации

Изначально играясь с API HH я пробегался по вакансиям собирал нужную информацию и сохранял ее в excel-файл. Но когда увидел, что есть метод отклика на вакансии понял, что это то, что мне нужно для моего удобства.

#Метод класса для получения необходимой информации с вакансий async def collect_vacany_data(self, flag=True):         jsonobj = await self.make_request()         vacation = []         values = jsonobj['items']         for value in values:             emoloyer_id = value['employer']['id']             url = self.get_site(emoloyer_id) if flag else None             alternate_url = value['alternate_url']             requrment = value['snippet']['requirement']             emoloyer_name = value['employer']['name']             contact = value['contacts']['email'] if value['contacts'] else 'Нет контактов'             id_vacancy = value['id']             all_items = [url, alternate_url, emoloyer_name, contact, requrment, id_vacancy]             vacation.append(all_items)         return vacation

Интересный факт, почему‑то никто не заполнял информацию в contacts.

#Метод моего класса для создания excel-файла async def create_xl(self, flag=False):         random_uuid = uuid.uuid4()         wb = Workbook()         ws = wb.active         data = await self.collect_vacany_data(flag)         for k in range(len(data)):             ws.append(data[k])          wb.save(f'{random_uuid}.xlsx') 

Реализация бота

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

Для отправки отклика необходимо было зарегистрировать свое «приложение» и получить токены. Ок, подал заявку, ожидание 3-4 дня и полетели.

К слову, об ограничениях, думал, что могу отправить отклики буквально на все вакансии, а оказалось не все так просто, в день максимум 200. Но даже этого, как мне кажется, вполне достаточно, потому в Москве общее количество 450, за два дня почти на все откликнулся.

Начал собирать бота используя FSM, параллельно прикручивая функционал API HH, самое муторное было настроить авторизацию и прикрутить БД, но работа с БД очень сильно упрощала некоторые вещи и открывала новые возможности. Так что я остался довольным, что потратил на это время.

#Регистрируем пользователя в нашем "приложении" async def get_acces_token(Client_ID, Client_Secret, authorization_code):     params = {     "grant_type":"authorization_code",     "client_id":Client_ID,     "client_secret":Client_Secret,     "code":authorization_code}      request = requests.post(f'https://hh.ru/oauth/token', params=params)     data = request.content.decode()     json_data = json.loads(data)     if json_data.get('error') is not None:         if json_data['error'] == 'invalid_request':             return 'invalid_request'         elif json_data['error'] == 'invalid_client':             return 'invalid_client'         elif json_data['error'] == 'invalid_grant':             return 'invalid_grant'         elif json_data['error'] == 'forbidden':             return 'forbidden'     else:         access_token = json_data['access_token']         return access_token  

Результат

В итоге все работало как часы, отправил суммарно откликов более 1000 по всей России.

Уже вакансий нет, а мне все предлагают откликаться

Уже вакансий нет, а мне все предлагают откликаться

Но вот результат этих откликов меня мягко говоря расстроил. Из более чем 1000 откликов я получил:

  • Более 500 автоотказов

  • (Не)Приглашения, которые так и не пришли с каким-то результатом

  • Десятки переносов вакансий в архив

  • Ну и конечно же, 4-5 тестовых

  • Оставшиеся еще даже не смотрели

Я junior разработчик, понятное дело, что таким как я найти работу в сфере коммерческой разработки тяжело, но чтобы на столько, это даже жутковато, а вы что думаете?

Еще интересно, честно ли отправлять массовые отклики на вакансии? Я считаю, что да, потому что автоотказы зло и с ними нужно бороться.


ссылка на оригинал статьи https://habr.com/ru/articles/796529/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *