搜索员工的LinkedIn个人资料并以编程方式返回热门URL

时间:2017-06-17 03:55:27

标签: python curl web-scraping linkedin

我们希望创建一个程序或脚本,用我们公司内部员工的名字,姓氏,公司和头衔搜索LinkedIn,并将搜索结果拉入文件或表格。

根据LinkedIn关键字,我可以生成搜索网址:

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

我需要从结果中提取或删除顶部网址。我可以在浏览器中使用我的帐户登录。

我不知道LinkedIn是否公开了API,或者我是否可以使用 curl 执行此操作,或者哪种语言最适合此...任何人都有一个简单的示例代码可以启动用?

1 个答案:

答案 0 :(得分:1)

由于您需要在整个抓取过程中登录,因此抓取网站的最佳选择是使用Selenuim。同样可以通过Requests来实现,但Selenium是一个更好的选择。

对于抓取部分,您应该坚持使用BeautifulSoup

Selenium需要一个webdriver来启动浏览器。为此,您有三个选择:

就个人而言,我总是更喜欢PhantomJS,因为它提供headless browsing,如果你想将你的脚本扩展到一个单独的网站等,这是理想的。

这是一个通过Selenium启动chrome浏览器的最小脚本:

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,因此您必须坚持我上面提到的内容。