2017-06-17 22 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。 –