前言
在招聘信息上,会提及工作的职位,不过大多描述是笼统的,还需要我们去了解工作的具体内容和性质。要知道,在不同的公司,同样的职位做的事情也是不一样的,工作方法更是大相径庭。所以,要尽可能详细地了解你所投递的职位的具体工作内容、要求。在了解清楚一切后,才能判断出这个职位是否与你的专业、能力、兴趣等相契合。
拉勾招聘是专业的互联网求职招聘平台。致力于提供真实可靠的互联网招聘求职找工作信息。
今天我们一起使用 python 采集拉钩的 python 招聘信息,分析一下找到高薪工作需要掌握哪些技术。
开发环境:
1. 解释器: Python 3.6.5 | Anaconda, Inc.
2. 编辑器: pycharm 社区版
然后信心满满的 ennn 翻车了
不怕,再来!!!
步骤
导入模块:
import requests import pprint
正常的情况下,确定爬取的url路径,headers参数就行了,但是有反爬
加上防盗链,Origin,Host参数,还是不行,所以可能就是Cookie的问题了。
还要构建 ip 池
代码如下
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': 工作时间
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文件
pprint.pprint(d) with open('拉钩职位信息.csv', mode='a', encoding='utf-8') as f: values = d.values() f.write(",".join(values)) f.write(' ')
写完代码,运行后结果如下图