Python抓包并解析json爬虫的完整实例代码


Posted in Python onNovember 03, 2020

Python抓包并解析json爬虫

在使用Python爬虫的时候,通过抓包url,打开url可能会遇见以下类似网址,打开后会出现类似这样的界面,无法继续进行爬虫:

Python抓包并解析json爬虫的完整实例代码

例如:

需要爬取网页中第二页的数据时,点击F12➡网络(Network)➡XHR,最好点击清除键,如下图:

Python抓包并解析json爬虫的完整实例代码

通过点击“第二页”,会出现一个POST请求(有时会是GET请求),点击POST请求的url,(这里网址以POST请求为例),

如图:

Python抓包并解析json爬虫的完整实例代码

然后复制参数代码

代码展示:

import requests
import json

url = 'https://m.ctrip.com/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031130211378497389'

header={
'authority': 'm.ctrip.com',
'method': 'POST',
'path': '/restapi/soa2/13444/json/getCommentCollapseList?_fxpcqlniredt=09031130211378497389',
'scheme': 'https',
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'no-cache',
'content-length': '278',
'content-type': 'application/json',
'cookie': '__utma=1.1986366783.1601607319.1601607319.1601607319.1; __utmz=1.1601607319.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _RSG=blqD1d4mGX0BA_amPD3t29; _RDG=286710759c35f221c000cbec6169743cac; _RGUID=0850c049-c137-4be5-90b7-0cd67093f28b; MKT_CKID=1601607321903.rzptk.lbzh; _ga=GA1.2.1986366783.1601607319; nfes_isSupportWebP=1; appFloatCnt=8; _gcl_dc=GCL.1601638857.CKzg58XqlewCFQITvAodioIJWw; Session=SmartLinkCode=U155952&SmartLinkKeyWord=&SmartLinkQuary=&SmartLinkHost=&SmartLinkLanguage=zh; Union=OUID=index&AllianceID=4897&SID=155952&SourceID=&createtime=1602506741&Expires=1603111540922; MKT_OrderClick=ASID=4897155952&AID=4897&CSID=155952&OUID=index&CT=1602506740926&CURL=https%3A%2F%2Fwww.ctrip.com%2F%3Fsid%3D155952%26allianceid%3D4897%26ouid%3Dindex&VAL={"pc_vid":"1601607319353.3cid9z"}; MKT_Pagesource=PC; _RF1=218.58.59.72; _bfa=1.1601607319353.3cid9z.1.1602506738089.1602680023977.4.25; _bfi=p1%3D290510%26p2%3D290510%26v1%3D25%26v2%3D24; MKT_CKID_LMT=1602680029515; __zpspc=9.5.1602680029.1602680029.1%232%7Cwww.baidu.com%7C%7C%7C%25E6%2590%25BA%25E7%25A8%258B%7C%23; _gid=GA1.2.1363667416.1602680030; _jzqco=%7C%7C%7C%7C1602680029668%7C1.672451398.1601607321899.1602506755440.1602680029526.1602506755440.1602680029526.undefined.0.0.16.16',
'cookieorigin': 'https://you.ctrip.com',
'origin': 'https://you.ctrip.com',
'pragma': 'no-cache',
'referer': 'https://you.ctrip.com/',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'
}

dat = {
 "arg": {
  'channelType': 2,
  'collapseType': 0,
  'commentTagId': 0,
  'pageIndex': 1,
  'pageSize': 10,
  'poiId': 75648,
  'sortType': 3,
  'sourceType': 1,
  'starType': 0
 },
 "head": {
  'auth': "",
  'cid': "09031117213661657011",
  'ctok': "",
  'cver': "1.0",
  'extension': [],
  'lang': "01",
  'sid': "8888",
  'syscode': "09",
  'xsid': ""
 }
}

r = requests.post(url, data=json.dumps(dat), headers=header)
s = r.json()
print(s)

运行结果:

Python抓包并解析json爬虫的完整实例代码

然后右击结果,再点击Show as JSON:

Python抓包并解析json爬虫的完整实例代码

最后就会出现目标url的响应信息,就可以进行爬取了!!!

总结

到此这篇关于Python抓包并解析json爬虫的文章就介绍到这了,更多相关Python抓包并解析json爬虫内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中的一些类型转换函数小结
Feb 10 Python
让Python代码更快运行的5种方法
Jun 21 Python
Python实现高效求解素数代码实例
Jun 30 Python
python验证码识别实例代码
Feb 03 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
python如何实现异步调用函数执行
Jul 08 Python
Python日志无延迟实时写入的示例
Jul 11 Python
python实现opencv+scoket网络实时图传
Mar 20 Python
Django import export实现数据库导入导出方式
Apr 03 Python
python 实现一个简单的线性回归案例
Dec 17 Python
Django+Celery实现定时任务的示例
Jun 23 Python
python中not、and和or的优先级与详细用法介绍
Nov 03 #Python
如何基于Python按行合并两个txt
Nov 03 #Python
Python txt文件如何转换成字典
Nov 03 #Python
Python headers请求头如何实现快速添加
Nov 03 #Python
python time()的实例用法
Nov 03 #Python
Python-openpyxl表格读取写入的案例详解
Nov 02 #Python
Python常用扩展插件使用教程解析
Nov 02 #Python
You might like
PHP 日,周,月点击排行统计
2012/01/11 PHP
destoon复制新模块的方法
2014/06/21 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
浅谈php://filter的妙用
2019/03/05 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
深入学习Python中的上下文管理器与else块
2017/08/27 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python中有关时间日期格式转换问题
2019/12/25 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
上班睡觉检讨书
2014/01/09 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
工作目标责任书
2014/07/23 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
婚宴父母致辞
2015/07/27 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
Linux磁盘管理方法介绍
2022/06/01 Servers