2017-06-17 2 views
-1

Wir möchten ein Programm oder Skript erstellen, die LinkedIn mit dem Vornamen, Nachnamen, Firma und Titel der internen Mitarbeiter unseres Unternehmens suchen und die Suchergebnisse in eine Datei oder Tabelle ziehen .LinkedIn-Profile von Mitarbeitern suchen und Top-URL programmatisch zurückgeben

Basierend auf LinkedIn Schlüsselwort, kann ich die Suche URL generieren als:

https://www.linkedin.com/search/results/index/?keywords=firstname%3Ajohn%20AND%20lastname%3Adoe%20AND%20company%3Amicrosoft%20AND%20title%3Aceo&origin=GLOBAL_SEARCH_HEADER 

Ich brauche zu ziehen oder die Top-URL aus den Ergebnissen zu kratzen. Ich kann mich mit meinem Konto im Browser anmelden.

Ich weiß nicht, ob LinkedIn eine API zur Verfügung stellt, oder wenn ich dies mit curl, oder welche Sprache wäre am besten geeignet für diese .. Wer hat einen einfachen, Beispielcode zu beginnen?

Antwort

1

Da Sie während des gesamten Scraping-Prozesses angemeldet sein müssen, ist die beste Wahl zum Crawlen der Website Selenuim. Das Gleiche kann durch Requests erreicht werden, aber Selen ist eine viel bessere Wahl.

Für den Schabeteil sollten Sie mit BeautifulSoup bleiben.

Selen erfordert einen Webdriver zum Starten des Browsers. Dazu Sie drei Möglichkeiten:

Persönlich würde ich immer lieber PhantomJS wie es headless browsing liefert, die, wenn Sie ist ideal wollen Ihr Skript erweitern zu einer separaten Website usw.

Hier ist ein minimales Skript, das einen Chrome-Browser startet h Selen:

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.common.exceptions import StaleElementReferenceException 
from selenium.common.exceptions import NoSuchElementException 

base_url = 'https://www.linkedin.com/search/results/index/?keywords=firstname%3Ajohn%20AND%20lastname%3Adoe%20AND%20company%3Amicrosoft%20AND%20title%3Aceo&origin=GLOBAL_SEARCH_HEADER' 

chromedriver = os.path.dirname(os.path.realpath(__file__)) + "/chromedriver" 
os.environ["webdriver.chrome.driver"] = chromedriver 

driver = webdriver.Chrome(chromedriver) 
driver.get(base_url) 

# sign in and perform all your scraping 

Hinweis: Ich glaube nicht, LinkedIn eine API für die Suche ihren Inhalt freigibt, so dass Sie sich mit dem, was ich oben erwähnt.

+0

Ich habe vergessen zu erwähnen, dass ich mit meinem eigenen Konto angemeldet werden kann. Auch wäre es möglich, einen einfachen Code zu geben, um dies zu erreichen. Pseudocode hier: data = soup.pullUrl ('http: //linkedin.com/search ... ') –

+0

Sie können den Chromedriver von [hier] herunterladen (https://sites.google.com/a/chromium.org/chromedriver/downloads). –

Verwandte Themen