爬取拉钩信息
自动化爬取拉钩网的职位信息:
爬取30页的数据代码:
import requests import json #主URL ---浏览器url地址栏里面的地址 url1='https://www.lagou.com/jobs/list_python?city=%E6%88%90%E9%83%BD&cl=false&fromSearch=true&labelWords=&suginput=' #json数据的url地址 url='https://www.lagou.com/jobs/positionAjax.json?city=%E6%88%90%E9%83%BD&needAddtionalResult=false' headers={ 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Referer':'https://www.lagou.com/jobs/list_python?city=%E6%88%90%E9%83%BD&cl=false&fromSearch=true&labelWords=&suginput=', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' } for j in range(1,30): data={ 'first':' true', 'pn': j, 'kd':' python' } #因为拉钩网是需要登陆后才能查看到招聘信息,所以需要保持用户的登陆状态 s=requests.Session() s.get(url=url1,headers=headers) #通过登陆状态取到用户的登陆信息 user_cookie=s.cookies #请求数据 response_data=s.post(url=url,headers=headers,data=data,cookies=user_cookie).json() result=response_data['content']['positionResult']['result'] for i in result: dict_json={} dict_json['公司名称']=i['companyFullName'], dict_json['职位名字']=i['positionName'], dict_json['类型']=i['secondType'], dict_json['技能要求']=i['skillLables'] print(dict_json)
如下代码是爬去一页数据中的职位部分信息:
import requests import json #主URL ---浏览器url地址栏里面的地址 url1='https://www.lagou.com/jobs/list_python?city=%E6%88%90%E9%83%BD&cl=false&fromSearch=true&labelWords=&suginput=' #json数据的url地址--F12后,在network-->XHR-->Preview中查找是否是我们需要的内容来确定 url='https://www.lagou.com/jobs/positionAjax.json?city=%E6%88%90%E9%83%BD&needAddtionalResult=false' headers={ 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Referer':'https://www.lagou.com/jobs/list_python?city=%E6%88%90%E9%83%BD&cl=false&fromSearch=true&labelWords=&suginput=', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36' } data={ 'first':' true', 'pn': '1', 'kd':' python' } #因为拉钩网是需要登陆后才能查看到招聘信息,所以需要保持用户的登陆状态 s=requests.Session() s.get(url=url1,headers=headers) #通过登陆状态取到用户的登陆信息 user_cookie=s.cookies #请求数据 response_data=s.post(url=url,headers=headers,data=data,cookies=user_cookie).json() result=response_data['content']['positionResult']['result'] for i in result: dict_json={} dict_json['公司名称']=i['companyFullName'], dict_json['职位名字']=i['positionName'], dict_json['类型']=i['secondType'], dict_json['技能要求']=i['skillLables'] print(dict_json)