前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

作者头像
松鼠爱吃饼干
发布2020-09-15 15:45:11
5410
发布2020-09-15 15:45:11
举报
文章被收录于专栏:Python分享Python分享

前言

在招聘信息上,会提及工作的职位,不过大多描述是笼统的,还需要我们去了解工作的具体内容和性质。要知道,在不同的公司,同样的职位做的事情也是不一样的,工作方法更是大相径庭。所以,要尽可能详细地了解你所投递的职位的具体工作内容、要求。在了解清楚一切后,才能判断出这个职位是否与你的专业、能力、兴趣等相契合。

拉勾招聘是专业的互联网求职招聘平台。致力于提供真实可靠的互联网招聘求职找工作信息。

今天我们一起使用 python 采集拉钩的 python 招聘信息,分析一下找到高薪工作需要掌握哪些技术。

喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利,私信“资料”可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

开发环境:

1. 解释器:Python 3.6.5 | Anaconda, Inc.

2. 编辑器:pycharm 社区版

然后信心满满的 ennn 翻车了

不怕,再来!!!

步骤

导入模块:

代码语言:javascript
复制
import requests
import pprint

正常的情况下,确定爬取的url路径,headers参数就行了,但是有反爬

加上防盗链,Origin,Host参数,还是不行,所以可能就是Cookie的问题了。

还要构建 ip 池

代码如下

代码语言:javascript
复制
def get_cookie():
    # 获取服务器返回的 cookie
    url = 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput='

    response = requests.get(url, headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
    })
    # 我想要的是 cookie
    return response.cookies


url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'

data = {
    'first': True,
    'pn': 1,
    'kd': 'python',
    'sid': ""
}
# ip 池 cookie 池
# 请求获取 cookie
headers = {
    'Host': 'www.lagou.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
    'Origin': 'https://www.lagou.com',
    'Referer': 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',
}
# 找 cookie 生成
# 正常情况下
response = requests.post(url, data=data, headers=headers, cookies=get_cookie())

data = response.json()

我们的需求是获取招聘的信息

'city': 城市

'companyFullName': 公司名

'companySize': 公司规模

'education': 学历

'positionName': 职位名称

'salary': 薪资

'workYear': 工作时间

代码语言:javascript
复制
results = data['content']['positionResult']['result']
for r in results:
    d = {
        'city': r['city'],
        'companyFullName': r['companyFullName'],
        'companySize': r['companySize'],
        'education': r['education'],
        'positionName': r['positionName'],
        'salary': r['salary'],
        'workYear': r['workYear']
    }

把爬取的信息写入CSV文件

代码语言:javascript
复制
   pprint.pprint(d)
    with open('拉钩职位信息.csv', mode='a', encoding='utf-8') as f:
        values = d.values()
        f.write(",".join(values))
        f.write('\n')

写完代码,运行后结果如下图

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 松鼠爱吃饼干 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 开发环境:
  • 步骤
  • 我们的需求是获取招聘的信息
  • 把爬取的信息写入CSV文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档