Python爬linkedin——规模在1001-5000的瑞士公司(非官方API)

本文介绍了如何使用Python爬取LinkedIn上的瑞士公司信息,特别是员工规模在1001-5000的公司,涉及内容包括模拟登录、爬取公司名、规模、行业和位置,以及处理分页。通过BeautifulSoup解析HTML并结合正则表达式提取隐藏在注释中的数据。

1、说明

使用Python爬linkedin网站,爬公司规模在1001-5000的瑞士公司信息,只爬公司名、公司规模、所在行业、所在地这四个信息,且不使用linkedin官方API。

2、步骤说明

1>、模拟登录

2>、爬公司信息

3>、获取下一页的URL

3、代码片段

1>、模拟登录

从登录页面填写form表单,该表单中有一些JS验证,在JS开启时,会随着表单一起提交。不过不填也没事,毕竟不是每个人都会开启JS,故跳过。

这里使用BeautifulSoup模块来提取html页面中的一些信息。

def login(s):
    #打开页面
    r = s.get('https://www.linkedin.com/uas/login')
    
    #html处理
    soup = BeautifulSoup(r.text, "lxml")
    soup = soup.find(id="login")      #查找表单

    #提取表单信息
    loginCsrfParam = soup.find('input', id = 'loginCsrfParam-login')['value']
    csrfToken = soup.find('input', id = 'csrfToken-login')['value']
    sourceAlias = soup.find('input', id = 'sourceAlias-login')['value']
    isJsEnabled = soup.find('input',attrs={"name" :'isJsEnabled'})['value']
    source_app = soup.find('input', attrs={"name" :'source_app'})['value']
    tryCount = soup.find('input', id = 'tryCount')['value']
    clickedSuggestion = soup.find('input', id = 'clickedSuggestion')['value']
    signin = soup.find('input', attrs={"name" :'signin'})['value']
    session_redirect = soup.find('input', attrs={"name" :'session_redirect'})['value']
    trk = soup.find('input', attrs={"name" :'trk'})['value']
    fromEmail = soup.find('input', attrs={"name" :'fromEmail'})['value']

    #填充表单
    payload = {
        'isJsEnabled':isJsEnabled,
        'source_app':source_app,
        'tryCount':tryCount,
        'clickedSuggestion':clickedSuggestion,
        'session_key':'**********',
        'session_password':'*********',
        'signin':signin,
        'session_redirect':session_redirect,
        'trk':trk,
        'loginCsrfParam':loginCsrfParam,
        'fromEmail':fromEmail,
        'csrfToken':csrfToken,
        'sourceAlias':sourceAlias
    }

    #提交表单
    s.post('https://www.linkedin.com/uas/login-submit', data=payload)
    return s

2>、爬公司信息

linkedin将公司内容放在注释里面,囧!格式类似于下面这样:

<code id="voltron_srp_main-content" style="display:none;">
     <!--{"content":{"lix_header_lowercase":"control","l
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值