Pull to refresh

Comments 19

Круто! Очень полезная тулза. Нечто подобное запилил одно время для себя - но Ваше продвинутее +1000:-)
(Вот из-за таких .... мы и видим 100500 откликов на вакансию размещенную 1 минуту назад)

Как на это смотрит сам LinkedIn? Проблем с баном аккаунтов ещё не было?

Не сказать, чтобы LinkedIn это одобрял, но за два месяца активной разработки и несколько сотен откликов с использованием бота не было ни одного предупреждения, я уже не говорю о банах.

Спасибо за вопрос, добавил предупреждение об этом в статью.

 а работу найти удалось?

попробовал сбилдить, на этапе установки зависимостей `pip install -r requirements.txt` падает с ошибкой, что не может настроить колеса для какого-то еврея Левенштейна.
спросил у чат жпт (скинул весь дамп ошибки и файл с зависимостями) - говорит, что Левенштейн 0.25.1 не совместим с питон 3.13, потому что `The PyLongAsByteArray function now takes 6 arguments, while the C extension in Levenshtein (a Cython-compiled package) calls it with 5.`
У вас в ридми указана версия питона 3.12 и выше. Получается, не выше))
Я с питоном на Вы и шепотом - поэтому, может, сможете пофиксить?)))
Буду признателен))

ну... заменил я Левенштейна на rapidfuzz==3.10.0 в паре файлов, затем где он импортится заменил `from Levenshtein import distance` -> `from rapidfuzz.distance import Levenshtein` и затем в этом файле ниже ` distance( ...` -> `Levenshtein.distance( ... `, заработало.

намучился с ботом... но вроде тоже все подключилось.

потом запускаю мейн пи - плейрайт открывает новое окно и логинится в линк. Было бы лучше, если бы он мог текущее окно хрома для этого заиспользовать, я так думаю. Чтобы не надо было постоянно логиниться. Это раз.

Два - после ввода пароля он вроде нажимает батон, но сразу закрывается, типа не нашел батон. В этот момент в приложение линкедина прилетает сообщение, типа "подтвердите, что это вы входите сейчас в линк" - но бот к этому моменту уже закрылся.

Плюс... это подтверждение от линка... У меня 15-летний верифицированный через паспорт акк два раза уже блокировали недавно из-за того, что я пытался "войти через гугл почту", потом неделями подаю апеляции, пока матом на них не начнешь, акк не разлочат. Поэтому я это дело немного побаиваюсь. Не доверяю. Не хочу снова проходить этот ад - прямые ссылки на апеляцию еще найди, да еще ты ее правильно заполни, при этом их смс сервис не работает, да и загрузить фотку паспорта снова нельзя, а сапорт отписки присылает.

Как-то так))
Ну и в питоне я полный нуль. Может, попробовать переписать на джс, и подвязывать плейрайт не в новый хромдрайв, а в текущее окно...

Я на python 3.13 не тестировал, вполне возможно, что Levenstein не совместим с ней, проверял только на python 3.12.

Насчет логина, бот только один раз должен входить в аккаунт, после первого входа он сохраняет сессию в cookies и при дальнейших запусках логин уже не требуется.

Насчет того, что кнопку не нашел, посмотрю сегодня, видимо LinkedIn опять сайт поменял.

Поправил версию библиотеки Levenstein, теперь должно работать с python 3.13. Также поправил баг с логином.

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

Если еще возникнут вопросы, пишите в Telegram чат, ссылка на него есть в README.

Это всё классно, но есть два нюанса:

  • тупой поиск в старой версии Job Search возвращает совсем не релевантные работы, в которых даже намёка нет на то, что искали - вроде, ищешь Spring Boot, а в результатах какие-то газовые турбины, Nursing и прочее.

  • в новой, AI driven версии поиска, и так можно написать нормальный промпт и поставить на него Job Alert, вакансии будут валится на майл. Если очень хочется, дальше можно автоматизировать сам процесс application.

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

Мне кажется, вы описываете разные use cases. В описываемом вами случаем пользователь точно знает, какая работа ему нужна. В таком случае AI driven поиск подойдет лучше, это да. Но если пользователь просто ищет работу, которая подходит под его резюме, AI driven поиск тут не поможет, потому что просто не умеет искать работу, основываясь на деталях пользовательского профиля, LinkedIn прямо об этом пишет. А мой бот с этим справится, и даже если старая версия Job Search выдаст совсем не релевантную работу, LLM на следующей ступени поиска ее просто отфильтрует как неподходящую.

Сегодня запустил в контейнере, судя по логам процесс пошёл, но когда дошёл до непосредственно позиций в логах постоянно выдаётся следующее:

2025-11-14 15:30:21.444 | DEBUG | src.job_manager.job_manager:_extract_job_title:725 - Could not extract job title from job page
2025-11-14 15:30:21.506 | DEBUG | src.job_manager.job_manager:_extract_company_name:691 - Could not extract company name from job page
2025-11-14 15:30:21.582 | DEBUG | src.job_manager.job_manager:_extract_job_description:749 - Could not extract job description from job page
2025-11-14 15:30:22.006 | DEBUG | src.job_manager.job_manager:_get_job_recruiter:867 - Getting job recruiter information
2025-11-14 15:30:22.061 | DEBUG | src.job_manager.job_manager:_get_job_recruiter:876 - No recruiter link found in the hiring team section
2025-11-14 15:30:22.062 | INFO | src.job_manager.job_manager:apply_job:290 - Found a vacancy None
2025-11-14 15:30:22.062 | WARNING | src.job_manager.job_manager:apply_job:304 - Job is not valid for application, skipping:
Job is not valid for application. Reason: Job is empty
Job description is empty

И так по по всем позициям. В чём может быть причина, в какую сторону копать?

Похоже, что у вас премиум аккаунт. Похожая проблема у другого владельца премиум аккаунта была. Видимо LinkedIn другой UI для премов предоставляет. Советую зарегать не прем и попробовать с него.

К сожалению нет, аккаунт самый обычный. ЧатЖПТ предлагает дописать код, чтобы наверняка проваливаться на страницу позиции, но я пока не решился.

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

Поправил, должно работать.

Интересно насколько рабочая история для линкед ина? вот на ХХ по моему опыту скриптов, была большая конверсия. Есть ли какая-то примерная статистика кол-во откликов/кол-во обратной связи? по опыту ручных тычек, история не очень рабочая :) хотя может не очень замотивирован....

Все индивидуально очень, зависит от опыта, резюме и от того, на какие вакансии откликаешься. Но по моему опыту на НН конверсия больше раза в 3-4.

Sign up to leave a comment.

Articles