2017-06-17 16 views
-1

我們希望創建一個程序或腳本,以我們公司內部員工的名字,姓氏,公司名和標題搜索LinkedIn,並將搜索結果拖入文件或表格中。以編程方式搜索LinkedIn的員工簡介和返回頂部URL

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

我需要拉或颳去結果頂部網址:

基於LinkedIn的關鍵字,我可以爲生成搜索URL。我可以在瀏覽器中使用我的帳戶登錄。

我不知道,如果LinkedIn公開的API,或者如果我可以做到這一點捲曲,或用什麼語言是最適合這個..人有一個簡單,示例代碼開始嗎?

回答

1

由於您需要在整個抓取過程中登錄,因此抓取網站的最佳選擇是使用Selenuim。通過Requests可以達到同樣的效果,但Selenium是更好的選擇。

對於刮削部分,您應該堅持使用BeautifulSoup

Selenium需要一個webdriver來啓動瀏覽器。對於這一點,你有三種選擇:

個人而言,我總是喜歡PhantomJS因爲它提供了headless browsing,如果你想擴展你的腳本這是理想到一個單獨的網站等

這是一個最小的腳本啓動鉻瀏覽器throug h硒:

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 

注意:我不認爲LinkedIn暴露了搜索他們的內容的API,所以你必須堅持我上面提到的。

+0

我忘了提及,我可以使用我自己的帳戶登錄..此外,你將能夠給一個簡單的代碼來實現這個..僞代碼在這裏: data = soup.pullUrl('http: //linkedin.com/search ...') –

+0

您可以從[這裏](https://sites.google.com/a/chromium.org/chromedriver/downloads)下載chromedriver。 –