Pythonでプロファイルを検索し、メッセージを送信し、ジョブを見つけます。公式のAPIアクセスは必要ありません。
ドキュメント・クイックスタート・それがどのように機能するか
api公式APIアクセスは必要ありません。有効なLinkedInユーザーアカウントを使用するだけです。
direct Direct HTTP APIインターフェイス。セレン、Pupeteer、またはその他のブラウザベースのスクレイピング方法はありません。
人き、企業、仕事、投稿を取得して検索します
sendメッセージを送信および取得します
connection接続リクエストを送信して受け入れます
cove投稿を取得して反応します
そしてもっと!すべてのAPIメソッドについては、ドキュメントをお読みください。
重要
このライブラリは、LinkedInによって正式にサポートされていません。このライブラリを使用すると、LinkedInの利用規約に違反する可能性があります。あなた自身の責任でそれを使用してください。
注記
python> = 3.10が必要です
PIPインストールLinkedIn-API
または、出血エッジの場合:
pipインストールgit+https://github.com/tomquirk/linkedin-api.git
ヒント
ドキュメントのすべてのAPIメソッドを参照してください。
次のスニペットは、いくつかの基本的なLinkedIn_APIユースケースを示しています。
linkedIn_apiからImport linkedIn#linkedInユーザーアカウントを使用して認証credentienceSapi = linkedIn('[email protected] '、' ******* ')プロファイルinfocontact_info = api.get_profile_contact_info( 'billy-g')#getにお問い合わせください指定されたPROPILEConnections = API.Get_Profile_Connections( '1234asc12304')の1度目の接続
これはスポンサー付きセクションです
データを抽出し、Prospeo LinkedIn Email Finder APIを使用して、検証済みの電子メールをリアルタイムで見つけます。
リアルタイムで抽出されたプロファイルデータ
プロファイルの会社データ
プロフィールの確認済み作業メール
排他的なデータポイント(性別、清掃国コード、タイムゾーン...)
すべての要求
安定したAPI、高負荷でテストされました
75のプロファイルで試してみてください。今すぐ無料のAPIキーを入手してください。
Proxycurl APIで大規模なPublic LinkedInプロファイルデータをスクレイプします。
公開プロファイルのスクレイピングは、HIQ対LinkedInのケースの法廷で戦闘テストされています。
GDPR、CCPA、SOC2準拠
ハイレート制限-300リクエスト/分
高速-APIは〜2秒で応答します
新鮮なデータ-88%のデータがリアルタイムで削られ、その他の12%は29日以上年上ではありません
高精度
プロファイルごとに返されたデータポイントのトン
開発者向けに構築されました。
Full LinkedIn API:クラシック/セールスナビゲーター/リクルーターを接続し、リアルタイムメッセージングを同期し、データを濃縮し、アウトリーチシーケンスを構築します…
クラウド内のユーザーをホワイトラベル認証(Captcha Solving、in-app Validation、OTP、2FA)で簡単に接続できます。
受信したメッセージごとにリアルタイムWebhook、ステータスの読み取り、招待状が受け入れられました。
データの抽出:プロファイルを取得し、会社を入手し、クラシック +セールスナビゲーター +リクルーターから検索結果を抽出します
アウトリーチシーケンス:招待状、手入れ、メッセージ、投稿へのコメントを送信してください…
7日間の無料トライアルですべての機能をテストします。
Scrapin APIに制限なく、LinkedInからデータをスクレイプします。
リアルタイムデータ(キャッシュなし)
SaaS開発者向けに構築されています
GDPR、CCPA、SOC2準拠
インタラクティブなAPIドキュメント
Scrapinの背後にある会社が所有する2つの追加データプロバイダーブランドの信頼性を備えた、データプロビジョニングの4年以上の経験に裏付けられた非常に安定したAPI。
無料で試してみてください。今すぐAPIキーを入手してください
Iscraper APIを使用して、高品質のリアルタイムLinkedInデータを大規模にアクセスし、無制限のスケーラビリティと比類のない精度を提供します。
リアルタイムのLinkedInデータは、比類のない精度でスクレイピングします
強力なLucene検索アクセスを備えたホストデータセット
企業および企業レベルのアプリケーション向けに設計されています
1日あたり何百万もの擦り傷を処理し、無制限のスケーラビリティを確保します
ミッションクリティカルなデータニーズのためにトップエンタープライズから信頼されています
シームレスな統合のためのOpenapi 3仕様に基づいて構築されたインタラクティブAPIドキュメント
リアルタイムデータプロビジョニングの10年以上の経験に支えられています
大量使用の最低価格保証
ここから始めましょう。
スポンサー付きセクションを終了します
poetry
有効なLinkedInユーザーアカウント(可能であれば個人アカウントを使用しないでください)
.env configファイルを作成します(参照として.env.exampleを使用)
poetryを使用して依存関係をインストールする:
詩のインストール 詩自己追加詩 - プギン・ドテンフ
すべてのテストを実行します:
詩はpytestを実行します
ユニットテストの実行:
詩はpytestテスト/ユニットを実行します
E2Eテストの実行:
詩はpytestテスト/e2eを実行します
詩は黒を走らせます - チェック。
または修正する:
詩は黒く走っています。
CHALLENGEを続けていますLinkedInは、チャレンジURLの形でカーブボールを投げます。私たちは現在これを処理していないので、あなたはちょっとねじ込まれています。 IPベースのみ(つまり、異なる場所からログインする)にすぎないと考えています。解決策の最高のチャンスは、ブラウザにログアウトしてログインすることです。
挑戦の既知の理由は次のとおりです。
2FA
Rate -limit-「LinkedInの非常に多数のページを訪問しているようです。」注 - n = 1実験このページが1回のセッション(1時間以内)で〜900の連続したリクエスト(各リクエスト間のランダム遅延が含まれています)とテストの束があるため、実際の限界を知っている人がいます。
あなたが彼らに出くわしたときにさらに追加してください。
標準search方法を使用して「ソフトウェア」などの一般的なキーワードを検索すると、マイレージが異なる場合があります。彼らは最近、クエリが十分に一般的である場合、人々、会社、仕事などによって結果をグループ化する検索に関するいくつかのスマートを追加しました。可能であれば、エンティティ固有の検索方法(IE Search_People)を使用してみてください。
このプロジェクトは、LinkedIn APIにシンプルなPythonインターフェイスを提供しようとします。
合法的なLinkedIn APIのことですか?
いいえ!構造化されたデータを取得するために、LinkedIn Webサイトは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のWebサイトを見て、必要なデータを見つけています。今何?
以下は、関連するエンドポイントを見つける最も信頼できる方法について説明しています。
view source
command-f /データのキーワードのページを検索します。これは、 <code>タグの内部に存在します。
別の<code>タグになる次の隣接する要素まで下にスクロールしますid
<code style = "display:none" id = "datalet-bpr-guid-3900675">
{"request": "/voyager/api/identy/profiles/tom-quirk/profileview"、 "status":200、 "body": "bpr-guid-3900675"} </code> requestの値はURLです! ?
ブラウザ開発者ツールの[ networkタブを使用することもできますが、さまざまな結果が発生します。
LinkedIn.comは、データのクエリにREST-LIプロトコルを使用しています。 REST-LIは、クライアント(LinkedIn.comなど)が必要なデータを指定する内部クエリ言語/構文です。概念的にはgraphqlに似ています。
組織の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などが必要です。
異なるエンドポイントは、異なるパラメーター(およびおそらく異なる構文)を使用して、これらのクエリを指定します。上記のクエリには、値がuniversalNameであるパラメーターqがあることに注意してください。クエリは、 decorationパラメーターで指定されました。
対照的に、 /search/clusterエンドポイントはq=guidedで使用され、 guidedパラメーターでそのクエリを指定します。
List(v->PEOPLE)このクエリ言語を文書化する(そして素晴らしいインターフェイスを実装する)ことが可能かもしれません - このプロジェクトにさらにエンドポイントを追加すると、そのようなことが可能であるかどうかはより明確になると確信しています(そしてそれが価値があるかどうか) 。
pyproject.tomlのバンプversion
poetry build
poetry publish -r test-pypi
poetry publish
Githubのドラフトリリースノート。
このライブラリは、LinkedInによって承認されたり、サポートされたりしていません。これは、教育目的と個人使用のみを目的とした非公式のライブラリです。このライブラリを使用することにより、お客様は、その使用に起因する結果について著者または貢献者を担当しないことに同意します。