Cari profil, kirim pesan, temukan pekerjaan dan lainnya di Python. Tidak diperlukan akses API resmi.
Dokumentasi · Mulai Cepat · Cara kerjanya
✅ Tidak diperlukan akses API resmi. Cukup gunakan akun pengguna LinkedIn yang valid.
✅ Antarmuka API HTTP langsung. Tidak ada selenium, pupeteer, atau metode pengikis berbasis browser lainnya.
✅ Dapatkan dan cari orang, perusahaan, pekerjaan, posting
✅ Kirim dan ambil pesan
✅ Kirim dan terima permintaan koneksi
✅ Dapatkan dan bereaksi terhadap posting
Dan banyak lagi! Baca dokumen untuk semua metode API.
Penting
Perpustakaan ini tidak secara resmi didukung oleh LinkedIn. Menggunakan perpustakaan ini mungkin melanggar ketentuan layanan LinkedIn. Gunakan dengan risiko Anda sendiri.
Catatan
Python> = 3.10 Diperlukan
Pip Instal LinkedIn-API
Atau, untuk tepi pendarahan:
PIP menginstal git+https: //github.com/tomquirk/linkedin-api.git
Tip
Lihat semua metode API di dokumen.
Cuplikan berikut menunjukkan beberapa kasus penggunaan LinkedIn_API dasar:
Dari LinkedIn_api Impor LinkedIn# Otentikasi menggunakan kredensial akun pengguna LinkedIn apa pun = linkedIn ('[email protected] ',' ******* ')# dapatkan profileprofile = api.get_profile (' billy-g ')# dapatkan sebuah profil kontak infocontact_info = api.get_profile_contact_info ('billy-g')# dapatkan Koneksi derajat pertama dari ProfileConnections yang diberikan = API.Get_Profile_Connections ('1234asc12304')Ini adalah bagian yang disponsori
Ekstrak data dan temukan email terverifikasi secara real-time dengan Prospeo LinkedIn Email Finder API.
Data profil diekstraksi secara real-time
Data Perusahaan dari Profil
Email kerja yang terverifikasi dari profil
Titik data eksklusif (jenis kelamin, kode negara yang dibersihkan, zona waktu ...)
Satu permintaan do-it-all
API yang stabil, diuji di bawah beban tinggi
Cobalah dengan 75 profil. Dapatkan kunci API gratis Anda sekarang.
Mengikis data profil LinkedIn publik pada skala dengan API ProxyCurl.
Menggoreskan profil publik diuji pertempuran di pengadilan dalam kasus HIQ vs LinkedIn.
GDPR, CCPA, Soc2
Batas Tingkat Tinggi - 300 Permintaan/Menit
Cepat - API merespons di ~ 2s
Data segar - 88% data dikikis secara real -time, 12% lainnya tidak lebih dari 29 hari
Akurasi tinggi
Banyak titik data yang dikembalikan per profil
Dibangun untuk pengembang, oleh pengembang.
API LinkedIn Lengkap: Hubungkan Navigator/Perekrut Klasik/Penjualan, menyinkronkan pesan waktu nyata, memperkaya data dan membangun urutan penjangkauan…
Mudah menghubungkan pengguna Anda di cloud dengan otentikasi label putih kami (pemecahan captcha, validasi dalam aplikasi, OTP, 2FA).
Webhook real-time untuk setiap pesan yang diterima, membaca status, undangan yang diterima, dan banyak lagi.
Ekstraksi Data: Dapatkan Profil, Dapatkan Perusahaan, Dapatkan Posting, Ekstrak Hasil Pencarian dari Klasik + Penjualan Navigator + Perekrut
Urutan Penjangkauan: Kirim Undangan, Inmail, Pesan, dan Komentari Posting…
Uji semua fitur dengan uji coba gratis 7 hari kami.
Mengikis data apa pun dari LinkedIn, tanpa batas dengan API Scrapin.
Data waktu nyata (tanpa cache)
Dibangun untuk pengembang SaaS
GDPR, CCPA, Soc2
Dokumentasi API Interaktif
API yang sangat stabil, didukung oleh lebih dari 4 tahun pengalaman dalam penyediaan data, dengan keandalan tambahan dari dua merek penyedia data tambahan yang dimiliki oleh perusahaan di belakang scrapin.
Cobalah secara gratis. Dapatkan kunci API Anda sekarang
Akses data LinkedIn berkualitas tinggi, waktu nyata pada skala dengan ISCRAPER API, menawarkan skalabilitas tanpa batas dan akurasi yang tak tertandingi.
Mengikis data linkedIn real-time dengan akurasi yang tak tertandingi
Dataset yang di -host dengan akses pencarian Lucene yang kuat
Dirancang untuk aplikasi tingkat perusahaan dan perusahaan
Menangani jutaan goresan per hari, memastikan skalabilitas yang tidak terbatas
Dipercaya oleh perusahaan top untuk kebutuhan data yang kritis misi
Dokumentasi API interaktif yang dibangun di atas spesifikasi OpenAPI 3 untuk integrasi yang mulus
Didukung oleh lebih dari 10 tahun pengalaman dalam penyediaan data real-time
Jaminan harga terendah untuk penggunaan volume tinggi
Mulailah di sini.
Bagian akhir yang disponsori
poetry
Akun pengguna LinkedIn yang valid (jangan gunakan akun pribadi Anda, jika memungkinkan)
Buat file konfigurasi .env (gunakan .env.example sebagai referensi)
Instal dependensi menggunakan poetry :
instalasi puisi puisi sendiri menambahkan puisi-plugin-dotenv
Jalankan semua tes:
puisi menjalankan pytest
Jalankan Tes Unit:
Puisi menjalankan tes/unit pytest
Jalankan tes E2E:
Puisi menjalankan tes pytest/e2e
Puisi Run Black -Check.
Atau untuk memperbaiki:
Puisi menjadi hitam.
CHALLENGELinkedIn akan memberi Anda bola melengkung dalam bentuk URL tantangan. Kami saat ini tidak menangani ini, jadi Anda agak kacau. Kami pikir itu hanya bisa berbasis IP (yaitu masuk dari lokasi yang berbeda). Peluang terbaik Anda dalam resolusi adalah keluar dan masuk kembali di browser Anda.
Alasan yang diketahui untuk tantangan meliputi:
2fa
Tingkat -batas - "Sepertinya Anda mengunjungi sejumlah halaman yang sangat tinggi di LinkedIn.". Catatan - n = 1 percobaan di mana halaman ini dipukul setelah ~ 900 permintaan berdekatan dalam satu sesi (dalam satu jam) (ini termasuk keterlambatan acak antara setiap permintaan), serta banyak pengujian, jadi siapa yang tahu batas sebenarnya.
Tambahkan lebih banyak saat Anda menemukan mereka.
Jarak tempuh dapat bervariasi saat mencari kata kunci umum seperti "perangkat lunak" menggunakan metode search standar. Mereka baru -baru ini menambahkan beberapa kecerdasan di sekitar pencarian di mana mereka mengelompokkan hasil oleh orang, perusahaan, pekerjaan dll. Jika kueri cukup umum. Cobalah untuk menggunakan metode pencarian khusus entitas (yaitu search_people) jika memungkinkan.
Proyek ini berupaya menyediakan antarmuka Python sederhana untuk LinkedIn API.
Apakah maksud Anda API LinkedIn yang sah?
TIDAK! Untuk mengambil data terstruktur, situs web LinkedIn menggunakan layanan yang mereka sebut Voyager . Voyager Endpoints memberi kami akses ke hampir semua hal yang kami inginkan dari LinkedIn: Profil, Perusahaan, Koneksi, Pesan, dll. - Apa pun yang dapat Anda lihat di LinkedIn.com, kita bisa dapatkan dari Voyager.
Proyek ini bertujuan untuk memberikan cakupan lengkap untuk Voyager.
Bagaimana cara kerjanya?
Voyager Endpoints terlihat seperti ini:
https://www.linkedin.com/voyager/api/identity/profileView/tom-quirkAtau, lebih jelas
___________________________________ _______________________________
| base path | resource |
https://www.linkedin.com/voyager/api /identity/profileView/tom-quirkMereka diautentikasi dengan cookie sederhana, yang kami kirim dengan setiap permintaan, bersama dengan banyak header.
Untuk mendapatkan cookie, kami memposting nama pengguna dan kata sandi yang diberikan (dari akun pengguna LinkedIn yang valid) ke https://www.linkedin.com/uas/authenticate .
Kami sedang melihat situs web LinkedIn dan kami melihat beberapa data yang kami inginkan. Apa sekarang?
Berikut ini menjelaskan metode yang paling andal untuk menemukan titik akhir yang relevan:
view source
command-f /Cari halaman untuk beberapa kata kunci dalam data. Ini akan ada di dalam tag <code> .
Gulir ke bawah ke elemen yang berdekatan berikutnya yang akan menjadi tag <code> lain, mungkin dengan id yang terlihat seperti
<code style = "display: none" id = "datalet-bpr-guid-3900675">
{"request": "/Voyager/API/Identity/Profiles/Tom-Quirk/Profileview", "Status": 200, "Body": "BPR-Guid-3900675"} </code> Nilai request adalah URL! ?
Anda juga dapat menggunakan tab network di alat pengembang browser Anda, tetapi Anda akan menemukan hasil yang beragam.
LinkedIn.com menggunakan protokol REST-LI untuk meminta data. REST-LI adalah bahasa/sintaks kueri internal di mana klien (seperti LinkedIn.com) Menentukan data apa yang mereka inginkan. Secara konseptual mirip dengan GraphQL.
Berikut adalah contoh membuat permintaan untuk name dan groups organisasi (grup LinkedIn yang dikelola):
/voyager/api/organization/companies?decoration=(name,groups*~(entityUrn,largeLogo,groupName,memberCount,websiteUrl,url))&q=universalName&universalName=linkedin "Permintaan" terjadi di parameter decoration , yang terlihat seperti berikut:
(
name,
groups*~(entityUrn,largeLogo,groupName,memberCount,websiteUrl,url)
) Di sini, kami meminta nama organisasi dan daftar grup, di mana untuk setiap grup kami ingin largeLogo , groupName , dan sebagainya.
Titik akhir yang berbeda menggunakan parameter yang berbeda (dan mungkin bahkan sintaksis yang berbeda) untuk menentukan kueri ini. Perhatikan bahwa kueri di atas memiliki parameter q yang nilainya universalName ; Kueri kemudian ditentukan dengan parameter decoration .
Sebaliknya, titik akhir /search/cluster menggunakan q=guided , dan menentukan permintaannya dengan parameter guided , yang nilainya seperti
List(v->PEOPLE)Dimungkinkan untuk mendokumentasikan (dan mengimplementasikan antarmuka yang bagus untuk) bahasa kueri ini - karena kami menambahkan lebih banyak titik akhir untuk proyek ini, saya yakin itu akan menjadi lebih jelas jika hal seperti itu mungkin (dan jika itu sepadan) .
version Bump di pyproject.toml
poetry build
poetry publish -r test-pypi
poetry publish
Catatan rilis draf di GitHub.
Perpustakaan ini tidak didukung atau didukung oleh LinkedIn. Ini adalah perpustakaan tidak resmi yang dimaksudkan untuk tujuan pendidikan dan penggunaan pribadi saja. Dengan menggunakan perpustakaan ini, Anda setuju untuk tidak meminta penulis atau kontributor yang bertanggung jawab atas segala konsekuensi yang dihasilkan dari penggunaannya.