Библиотека LinkedIn API Python
Вот что мы рассмотрим в этой статье:
- зачем вообще получать данные из LinkedIn с помощью python?
- введение и преимущества
- загрузка и настройка
- получение информации о профиле
- получение информации о компании
- удаление связей
- получение деталей разговора
- недостатки и возможные альтернативы
- заключение и идеи проекта
зачем вообще получать данные из LinkedIn с помощью python?
хорошо, что вы спросили! получение данных из LinkedIn с помощью python имеет много преимуществ. во-первых, это быстрее. Допустим, вы менеджер по персоналу в компании, и вам нужно получить информацию из 100+ профилей и создать базу данных. Если бы этим занимался человек, это заняло бы целую вечность. И, кроме того, существует огромная вероятность человеческой ошибки. Всегда можно допустить опечатку или неправильную запись, которая в какой-то степени может испортить всю базу данных. Вот почему автоматизация этого процесса сэкономит вам время и убережет от возможных ошибок!
введение и преимущества
Мы будем использовать библиотеку linkedin-api python. У нас уже есть некоторые преимущества использования этой библиотеки.
- для работы ей нужны только учетные данные вашего аккаунта в LinkedIn
- она очень проста в настройке и имеет множество конечных точек, которые мы обсудим далее в этой статье# загрузка и настройка Чтобы загрузить эту библиотеку, мы можем просто выполнить эту команду pip в терминале
pip install linkedin-api
теперь мы создадим файлcreds.py
в нашем проекте для хранения нашей учетной информации!
#use the information associated with your linkedin account
email = '********@gmail.com'
password = '**********'
теперь мы можем создать файл main.py
. в этом файле мы также будем создавать все наши функции
from linkedin_api import Linkedin
from creds import password, email
api = Linkedin(email, password)
Здесь мы сначала импортируем пароль и email, которые мы сохранили в файле creds.py
, а затем используем эту информацию для входа в LinkedIn!
получение информации о профиле
Прежде чем мы начнем получать данные из этой конечной точки, нам нужно получить публичный id аккаунта LinkedIn, информацию которого мы хотим получить. Это можно сделать, получив значение между двумя последними косыми чертами в url профиля. Например, в случае ‘https://www.linkedin.com/in/hardik-singh-0b9ab4225/’, публичный id будет ‘hardik-singh-0b9ab4225’ Теперь мы можем использовать его для получения некоторых данных.
info = api.get_profile('hardik-singh-0b9ab4225')
print(info)
Это дает нам словарь, который содержит такую полезную информацию, как страна происхождения, день рождения, имя и фамилия, url на картинку профиля, образование, навыки и опыт работы.
весь список доступных ключей в этом словаре приведен ниже:
dict_keys(['lastName', 'student', 'geoCountryUrn',
'geoLocationBackfilled', 'entityUrn', 'headline',
'industryName', 'locationName', 'geoCountryName',
'elt', 'profilePictureOriginalImage', 'birthDate',
'industryUrn', 'firstName', 'profilePicture',
'geoLocation', 'geoLocationName', 'location',
'backgroundPicture', 'backgroundPictureOriginalImage', 'displayPictureUrl',
'profile_id', 'experience', 'skills', 'education'])
Например, чтобы получить информацию об образовании пользователя, мы можем сделать следующее:
print(info['education'])
#output:
[{'entityUrn': 'urn:li:fs_education:(ACoAADiU3o0BpIMjtuPu3LEwZgu6XmN8_zdNY3s,785025469)', 'school': {'objectUrn': 'urn:li:school:3244736', 'entityUrn': 'urn:li:fs_miniSchool:3244736',
'active': True, 'schoolName': 'Delhi Public School - India', 'trackingId': 'skI/DaQYTW23ZkqbA4FrPA==',
'logoUrl': 'https://media-exp2.licdn.com/dms/image/C510BAQFJWBCrV-fjMg/company-logo_'},
'timePeriod': {'endDate': {'month': 3, 'year': 2024}, 'startDate': {'month': 3, 'year': 2009}},
'schoolName': 'Delhi Public School - India', 'schoolUrn': 'urn:li:fs_miniSchool:3244736'}]
Как вы можете видеть, это возвращает всю необходимую информацию, относящуюся к соответствующему полю
получение информации о компании
Мы также можем получить информацию о любой компании. Это очень похоже на получение информации из профилей пользователей.
company=api.get_company('google')
print(company)
Это также даст нам большой словарь. вы можете получить такую информацию, как отрасли, в которых работает компания, количество сотрудников, штаб-квартира, данные о финансировании и многие другие параметры. они приведены ниже:
dict_keys(['staffingCompany', 'companyIndustries', 'callToAction',
'staffCount', 'adsRule', 'companyEmployeesSearchPageUrl',
'viewerFollowingJobsUpdates', 'staffCountRange', 'permissions', 'logo',
'claimable', 'affiliatedCompaniesResolutionResults', 'specialities',
'confirmedLocations', 'followingInfo', 'viewerEmployee',
'affiliatedCompaniesWithEmployeesRollup', 'lcpTreatment', 'affiliatedCompaniesWithJobsRollup',
'name', 'tagline', '$recipeType', 'fundingData', 'overviewPhoto', 'multiLocaleTaglines', 'description',
'entityUrn', 'headquarter', 'showcasePagesResolutionResults', 'paidCompany', 'universalName',
'viewerPendingAdministrator', 'companyPageUrl', 'viewerConnectedToAdministrator', 'affiliatedCompanies',
'dataVersion', 'companyType', 'coverPhoto', 'associatedHashtags', 'groups', 'url', 'showcasePages',
'claimableByViewer', 'jobSearchPageUrl', 'showcase', 'autoGenerated', 'backgroundCoverImage'])
удалить соединения
Допустим, у вас есть огромный список людей, с которыми вы хотите удалить связи. это можно сделать с помощью следующего фрагмента:
api.remove_connection('profile id')
Если у вас есть огромная база данных адресов профилей, вы можете перебрать их и удалить связь с ними с помощью приведенного выше фрагмента. обратите внимание, что id профиля можно получить по значению между двумя последними косыми чертами в url профиля, как упоминалось ранее в этой статье.
получить детали разговора
Вы также можете получить ВСЕ ваши разговоры со всеми, с кем вы общались в LinkedIn. Это позволяет получить огромный словарь с множеством элементов. Каждый из этих элементов содержит данные для каждого разговора в вашем почтовом ящике.
print(api.get_conversations())
недостатки и возможные альтернативы
какой бы простой в использовании и классной ни была эта библиотека, у нее все же есть пара недостатков, которые перечислены ниже
- иногда LinkedIn может остановить вас при проверке капчи. решение этой проблемы — выйти из системы и снова войти в браузер.
- Это происходит из-за двусторонней факторизации или проблем с ограничением скорости. Примерный предел, как говорят, составляет около 800 запросов в течение одной сессии. Возможной альтернативой может быть попытка создания собственного скрепера с помощью selenium. Это потребует много работы и экспериментов, но это также предложит настраиваемость и некоторые дополнительные возможности, которые иначе не были бы доступны в этой библиотеке. Эти возможности могут быть буквально любыми, поскольку вы являетесь создателем скрепера и можете добавлять/делать что угодно по своему выбору! Опять же, все сводится к тому, какого конечного результата вы хотите достичь и использовать доступные вам инструменты соответственно.
заключение & идеи проекта
Эта библиотека может быть очень удобной и полезной для решения большого количества задач. она сэкономит вам кучу времени и очень проста в использовании, вы можете настроить ее и начать играть с ней в считанные минуты! вы можете сделать классные проекты, например, сравнить известных людей/профили в качестве проекта по data science, поскольку на LinkedIn доступно так много данных. вы также можете попробовать сделать ai модель, которая может предсказать, получит ли человек работу, основываясь на его профиле. модель может быть обучена на данных о сотрудниках, которые также могут быть взяты из самого LinkedIn. это были некоторые забавные идеи проектов. удачного кодинга 🙂