繁体   English   中英

在 LinkedIn 上抓取工作机会时遇到的困难

[英]Difficulties when web scraping job offers on LinkedIn

我一直在尝试为 LinkedIn 抓取工作机会部分,但无济于事。 顺便说一句,我知道该网站有自己的 API,但我想用 Beautiful Soup 来做,因为我不久前学会了它,它是为了练习目的。

这是我的代码:

import requests
from bs4 import BeautifulSoup

client = requests.Session()

HOMEPAGE_URL = 'https://www.linkedin.com'
LOGIN_URL = 'https://www.linkedin.com/login/en'
URL = 'https://www.linkedin.com/jobs/search/?geoId=101174742&keywords=data%20analyst&location=Canada'

html = client.get(HOMEPAGE_URL).content
soup = BeautifulSoup(html, "html.parser")

login_information = {
    'session_key':'<username>',
    'session_password':'<password>',
    'loginCsrfParam': '<csrftoken>',
}
try:
    p = client.post(LOGIN_URL, data=login_information)
    print ("Login Successful")
except:
    print ("Failed to Login")

一切都很好,直到这里。 我得到“登录成功”,但是当我要求“状态代码”时,我得到 403:

p.status_code
Output: 403

当然,我无法抓取任何信息。 我怎样才能以正确的方式做到这一点?

你真的不必重新发明轮子。 有一个名为,惊喜,惊喜, linkedin-api的模块,用于通过所谓的Voyager服务访问各种 LinkedIn 数据(包括工作)。

用法示例:

from linkedin_api import Linkedin

# Authenticate using any Linkedin account credentials
api = Linkedin('reedhoffman@linkedin.com', '*******')

# GET a profile
profile = api.get_profile('billy-g')

# GET a profiles contact info
contact_info = api.get_profile_contact_info('billy-g')

# GET 1st degree connections of a given profile
connections = api.get_profile_connections('1234asc12304')

我分享这个是因为你可能很难用旧的BeautifulSouprequests抓取 LinkedIn。 另外,请注意,不要将您的个人帐户用于 LinkedIn 上的任何抓取活动。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM