Профили поиска, отправляйте сообщения, найдите задания и многое другое в Python. Официальный доступ API не требуется.
Документация · Быстрый старт · Как это работает
✅ Официальный доступ API не требуется. Просто используйте действительную учетную запись пользователя LinkedIn.
✅ Прямой интерфейс HTTP API. Нет селена, ученика или других методов соскоба на основе браузера.
✅ Получите и найдите людей, компании, рабочие места, сообщения
✅ Отправлять и извлечь сообщения
✅ Отправить и принимать запросы на соединение
✅ Получите и отреагируйте на посты
И еще! Прочитайте документы для всех методов API.
Важный
Эта библиотека официально не поддерживается LinkedIn. Использование этой библиотеки может нарушить условия обслуживания LinkedIn. Используйте его на свой собственный риск.
Примечание
Python> = 3,10 Требуется
PIP установить LinkedIn-API
Или для кровоточащего края:
PIP установить git+https: //github.com/tomquirk/linkedin-api.git
Кончик
Смотрите все методы API на документах.
Следующий фрагмент демонстрирует несколько основных вариантов использования LinkedIn_api:
из LinkedIn_api ImportInIn# Authenticate с использованием любой учетной записи пользователя LinkedIn CredentialSapi = linkedIn (’[email protected] ',' ******* ')# Получить Profileprofile = api.get_profile (' billy-g ')# Профили контакт с infoContact_info = api.get_profile_contact_info ('billy-g')# get Соединения 1 -й степени заданных ProfileConnections = api.get_profile_connections ('1234ASC12304')
Это спонсируемый раздел
Извлеките данные и найдите проверенные электронные письма в режиме реального времени с помощью API Prospeo LinkedIn Email Finder.
Данные профиля, извлеченные в режиме реального времени
Данные компании профиля
Проверенная рабочая электронная почта профиля
Эксклюзивные точки данных (пол, код очистки страны, часовой пояс ...)
Один запрос на все
Стабильный API, протестированный под высокой нагрузкой
Попробуйте это с 75 профилями. Получите свой бесплатный ключ API сейчас.
Сосредоточьтесь об общедоступном профиле LinkedIn в масштабе с помощью API ProxyCurl.
Соскабливание общественных профилей проходит боевую работу в суде в деле HIQ против LinkedIn.
GDPR, CCPA, SOC2, соответствующий
Высокий предел ставки - 300 запросов/минута
Быстрые - API реагируют в ~ 2 с
Свежие данные - 88% данных скрещены в режиме реального времени, другие 12% не старше 29 дней
Высокая точность
Тонны точек данных, возвращаемых по профилю
Построенный для разработчиков, разработчиками.
Полный API LinkedIn: Connect Classic/Sales Navigator/Recruiter, синхронизируйте сообщения в реальном времени, обогащении данных и построению аутрич-последовательностей…
Легко подключите своих пользователей в облаке с нашей аутентификацией белой маршрута (решение CAPTCHA, валидация в приложении, OTP, 2FA).
WebHook в реальном времени для каждого полученного сообщения, статус прочтения, принятие приглашения и многое другое.
Извлечение данных: получить профиль, получить компанию, получить почту, извлечь результаты поиска из Classic + Sales Navigator + Recruiter
Аудруч -последовательности: отправьте приглашения, внедрение, сообщения и комментировать сообщения ...
Проверьте все функции с нашей 7-дневной бесплатной пробной версией.
Соскребайте любые данные из LinkedIn, без ограничения с помощью Scrapin API.
Данные в реальном времени (без кеша)
Построенный для разработчиков SaaS
GDPR, CCPA, SOC2, соответствующий
Интерактивная документация API
Очень стабильный API, подкрепленный более чем 4 -летним опытом работы в области предоставления данных, с дополнительной надежностью двух дополнительных брендов поставщиков данных, принадлежащих компании, стоящей за Scrapin.
Попробуйте бесплатно. Получите свой ключ API сейчас
Доступ к высококачественным данным LinkedIn в реальном времени в масштабе с помощью API ISCRAPER, предлагая неограниченную масштабируемость и непревзойденную точность.
В режиме реального времени соскребание данных с непревзойденной точностью
Размещенные наборы данных с мощным доступом к поиску Lucene
Разработано для приложений для предприятия и корпоративного уровня
Обрабатывает миллионы царапин в день, обеспечивая неограниченную масштабируемость
Доверяют ведущим предприятиям для критически важных данных данных
Интерактивная документация API, построенная на спецификациях OpenAPI 3 для бесшовной интеграции
Опираясь на более чем 10-летний опыт работы в режиме реального времени
Самая низкая гарантия цен на большие объема использования
Начните здесь.
Конечный спонсируемый раздел
poetry
Допустимая учетная запись пользователя LinkedIn (не используйте свою личную учетную запись, если возможно)
Создайте файл конфигурации .env (используйте .env.example в качестве ссылки)
Установите зависимости, используя poetry :
Поэзия установка Поэзия самообвинение поэзии-плугин-дотенв
Запустите все тесты:
Поэзия запускает Pytest
Запустить модульные тесты:
Поэзия запустить Pytest Tests/Unit
Запустить тесты E2E:
Poetry Run Pytest Tests/E2E
Поэзия бежит черную -проверка.
Или исправить:
Поэзия работает черным.
CHALLENGELinkedIn выбросит вам кривой мяч в форме URL -адреса. В настоящее время мы не справляемся с этим, и вы вроде как облажались. Мы думаем, что это может быть только на основе IP (т.е. вход из разных мест). Ваш лучший шанс в разрешении - выйти и войти в систему в вашем браузере.
Известные причины вызова включают:
2FA
Rate -limit - «Похоже, вы посещаете очень большое количество страниц на LinkedIn». Примечание - n = 1 Эксперимент, где эта страница была достигнута после ~ 900 смежных запросов за один сеанс (в течение часа) (они включали случайные задержки между каждым запросом), а также кучу тестирования, поэтому кто знает фактический предел.
Пожалуйста, добавьте больше, когда вы сталкиваетесь с ними.
Пробег может варьироваться при поиске общих ключевых слов, таких как «программное обеспечение», используя стандартный метод search . Недавно они добавили несколько умных поисков, в результате чего они группируют результаты по людям, компании, рабочим местам и т. Д. Если запрос достаточно общий. Попробуйте использовать метод поиска, специфичный для сущности (то есть search_people), где это возможно.
Этот проект пытается обеспечить простой интерфейс Python для API LinkedIn.
Вы имеете в виду законную API LinkedIn?
НЕТ! Чтобы получить структурированные данные, веб -сайт LinkedIn использует услугу, которую они называют Voyager . Конечные точки Voyager дают нам доступ практически ко всему, что мы могли бы хотеть от LinkedIn: профили, компании, соединения, сообщения и т. Д. - Все, что вы можете увидеть на LinkedIn.com, мы можем получить от Voyager.
Этот проект направлен на обеспечение полного покрытия для Voyager.
Как это работает?
Конечные точки Voyager выглядят так:
https://www.linkedin.com/voyager/api/identity/profileView/tom-quirkИли, более ясно
___________________________________ _______________________________
| base path | resource |
https://www.linkedin.com/voyager/api /identity/profileView/tom-quirkОни аутентифицируются с помощью простого cookie, который мы отправляем с каждым запросом, а также кучу заголовков.
Чтобы получить файл cookie, мы публикуем данное имя пользователя и пароль (из действительной учетной записи пользователя LinkedIn) на https://www.linkedin.com/uas/authenticate .
Мы смотрим на веб -сайт LinkedIn и обнаруживаем некоторые данные, которые хотим. Что теперь?
Следующее описывает наиболее надежный метод поиска соответствующих конечных точек:
view source
command-f /Поиск на странице для некоторого ключевого слова в данных. Это будет существовать внутри тега <code> .
Прокрутите вниз до следующего смежного элемента , который будет еще одним тегом <code> , вероятно, с id , который выглядит как -то вроде
<code style = "display: none" id = "datalet-bpr-guid-3900675">
{"запрос": "/voyager/api/identity/profiles/tom-quirk/profileview", "status": 200, "body": "bpr-guid-3900675"} </code> Значение request - URL! ?
Вы также можете использовать вкладку network в инструментах разработчиков своих браузеров, но вы столкнетесь с смешанными результатами.
LinkedIn.com использует протокол REST-LI для запроса данных. REST-LI-это внутренний язык запросов/синтаксис, где клиенты (например, LinkedIn.com) указывают, какие данные они хотят. Это концептуально похоже на график.
Вот пример сделать запрос на name и groups организации (группы LinkedIn, которые управляет им):
/voyager/api/organization/companies?decoration=(name,groups*~(entityUrn,largeLogo,groupName,memberCount,websiteUrl,url))&q=universalName&universalName=linkedin «Запрос» происходит в параметре decoration , который выглядит как следующее:
(
name,
groups*~(entityUrn,largeLogo,groupName,memberCount,websiteUrl,url)
) Здесь мы запрашиваем название организации и список групп, где для каждой группы мы хотим, largeLogo , groupName и так далее.
Различные конечные точки используют разные параметры (и, возможно, даже разные синтаксисы) для указания этих запросов. Обратите внимание, что вышеупомянутый запрос имел параметр q , значение которого было universalName ; Запрос был затем указан с помощью параметра decoration .
В отличие от этого, конечная точка /search/cluster использует q=guided и определяет его запрос с помощью guided параметра, значение которого что -то вроде
List(v->PEOPLE)Возможно, можно было бы документировать (и реализовать хороший интерфейс) для этого языка запроса - поскольку мы добавляем больше конечных точек в этот проект, я уверен, что станет более ясным, если такая вещь будет возможно (и если это того стоит) Полем
Bump version в pyproject.toml
poetry build
poetry publish -r test-pypi
poetry publish
Примечания к выпуску в GitHub.
Эта библиотека не одобрена и не поддерживается LinkedIn. Это неофициальная библиотека, предназначенная только для образовательных целей и личного использования. Используя эту библиотеку, вы соглашаетесь не привлекать автора или участников ответственности за какие -либо последствия, вызванные его использованием.