仅使用 python 抓取 Linkedin returns ''[ ]'
Scraping Linkedin with python only returns ''[ ]'
我正在尝试抓取 LinkedIn 以从任何用户个人资料中获取当前和教育元素(此信息是公开的)。但是,在 运行 这段代码之后我无法获得我需要的信息,而是只有空括号 [].
https://www.linkedin.com/in/bryan-engelhardt-a099204b 这正是我目前正在使用的 link,我希望能够从这里抓取以下信息:"Current-College of the Holy Cross" 和 "Education-University of Iowa"
我的代码很简单:
from lxml import html
import requests
response = requests.get('https://www.linkedin.com/in/bryan-engelhardt-a099204b')
data = html.fromstring(response.text)
print(data.xpath('//title/text()')) #looks for title and prints it
print(data.xpath('//*[@id="topcard"]/div[1]/div/div/table/tbody/tr[1]/td/ol/li/span/a/text()')) # using a direct xpath
print(data.xpath('//*[@id="topcard"]/div[1]/div/div/table/tbody/tr[2]/td/ol/li/a/text()'))
输出如下所示:
C:\Python34\python.exe "C:/Users/Holy Cross - Summer/Desktop/python/scrape/scrape1.py"
[]
[]
[]
Process finished with exit code 0
我不确定为什么它会返回这个作为响应,因为我已经在其他网站上尝试过并获得了成功的结果。可能是 LinkedIn 试图阻止我获取此信息,如果是,我该如何解决。
我认为您应该阅读 linkedin 服务条款。
linkedin robots.txt file 指出您需要白名单才能抓取网站。
# Notice: If you would like to crawl LinkedIn,
# please email whitelistcrawl@linkedin.com to apply
# for white listing.
我会先尝试申请白名单。
您可以尝试通过使用用户代理等方式让您的机器人看起来像人,但我不推荐这样做。
我正在尝试抓取 LinkedIn 以从任何用户个人资料中获取当前和教育元素(此信息是公开的)。但是,在 运行 这段代码之后我无法获得我需要的信息,而是只有空括号 [].
https://www.linkedin.com/in/bryan-engelhardt-a099204b 这正是我目前正在使用的 link,我希望能够从这里抓取以下信息:"Current-College of the Holy Cross" 和 "Education-University of Iowa"
我的代码很简单:
from lxml import html
import requests
response = requests.get('https://www.linkedin.com/in/bryan-engelhardt-a099204b')
data = html.fromstring(response.text)
print(data.xpath('//title/text()')) #looks for title and prints it
print(data.xpath('//*[@id="topcard"]/div[1]/div/div/table/tbody/tr[1]/td/ol/li/span/a/text()')) # using a direct xpath
print(data.xpath('//*[@id="topcard"]/div[1]/div/div/table/tbody/tr[2]/td/ol/li/a/text()'))
输出如下所示:
C:\Python34\python.exe "C:/Users/Holy Cross - Summer/Desktop/python/scrape/scrape1.py"
[]
[]
[]
Process finished with exit code 0
我不确定为什么它会返回这个作为响应,因为我已经在其他网站上尝试过并获得了成功的结果。可能是 LinkedIn 试图阻止我获取此信息,如果是,我该如何解决。
我认为您应该阅读 linkedin 服务条款。
linkedin robots.txt file 指出您需要白名单才能抓取网站。
# Notice: If you would like to crawl LinkedIn,
# please email whitelistcrawl@linkedin.com to apply
# for white listing.
我会先尝试申请白名单。
您可以尝试通过使用用户代理等方式让您的机器人看起来像人,但我不推荐这样做。