应用python包:requests。
详细办法:(保举学习:Python视频教程)
起首是界说本人headers,留意headers外面的User-Agent这一字段能够依据本人需要设计一个列表,用于随机互换。
ajax数据的网页特性:NetWork中的XHR网络流中有一些ajax申请,此中它们request_url必然是一个ajax申请接口,而且headers外面的referer是其跳转前的url,正在结构本人的headers的时分需求设置referer字段。
以拉勾网主页搜寻“java”为例:
ajax数据的抓取爬虫以及一般的网页爬取多了一个url,一个是referer的url,搁置于headers中。另一个就是ajax_url,这个也是次要拜访url。
最首要的一点,ajax普通前往json数据,以是抓取上去的数据解析方式有所没有同。间接将后果集转换成json后果集便可,拜访形式就是一般字典、列表拜访方式。
另一个就是拜访参数,若申请中带有param,就将其结构。若不可疏忽。本例中有参数,留意参数字典结构办法
上面就展现进去一个简略的完好代码
from urllib.request import quote,unquote import random import requests keyword = quote('java').strip() print(keyword, type(keyword)) city = quote('郑州').strip() print(unquote(city)) refer_url = 'https://www.lagou.com/jobs/list_%s?city=%s&cl=false&fromSearch=true&labelWords=&suginput=' % (keyword, city) ajax_url = 'https://www.lagou.com/jobs/positionAjax.json?city=%s&needAddtionalResult=false' %city user_agents=[ 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299', ] data ={ 'first': 'true', 'pn': '1', 'kd': keyword, } headers={ 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'keep-alive', 'Content-Length': '46', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Host': 'www.lagou.com', 'Origin': 'https://www.lagou.com', 'Referer': refer_url, 'User-Agent': user_agents[random.randrange(0,3)], 'X-Anit-Forge-Code': '0', 'X-Anit-Forge-Token': 'None', 'X-Requested-With': 'XMLHttpRequest', } resp = requests.post(ajax_url,data=data, headers=headers) result = resp.json() print(result) # print(result) #result 就是终极取得的json格局数据 item = result['content']['positionResult']['result'][0] print(item) #item就是单个雇用条款信息 print("顺序完结")
更多Python相干技巧文章,请拜访Python教程栏目进行学习!
以上就是python怎样爬取ajax的具体内容,更多请存眷资源魔其它相干文章!
标签: Python python教程 python编程 python使用问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!