爬取阿里招聘网
在职位搜索中输入 python,获取前3页的 数据,包括 职位名称、职位类别、工作地点、招聘人数,把数据存入字典格式,保存在文本中
经分析,这些数据在json数据里面,获取世纪要爬取的url
网页的请求数据:
import json
import requests
def job_data(page):
# 数据在ajax里面,实际爬取的网页
url = 'https://job.alibaba.com/zhaopin/socialPositionList/doList.json'
# 添加请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36'
}
# 添加请求数据
data = {
'pageSize': '10',
't': '0.15070338056269827',
'keyWord': 'python',
'pageIndex': f'{page}'
}
# 向服务端发送请求
res = requests.post(url=url, headers=headers, data=data)
# 获取包含所需的json数据
result = res.json()
data = {}
for job in result['returnValue']['datas']:
data['name'] = job['name'] # 职位名称
data['types'] = job['firstCategory'] # 职位类型
data['address'] = job['workLocation'] # 工作地点
data['num'] = job['recruitNumber'] # 招聘人数
# 自动创建data.json文件
with open('data.json', 'a', encoding='utf-8') as fp:
# 写入json数据
fp.write(json.dumps(data,ensure_ascii=False)+'\n')
if __name__ == '__main__':
for i in range(1, 4):
job_data(i)