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 相关文章推荐
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
在Python中移动目录结构的方法
Jan 31 Python
如何在python中使用selenium的示例
Dec 26 Python
答题辅助python代码实现
Jan 16 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
python+selenium+chromedriver实现爬虫示例代码
Apr 10 Python
pycharm 的Structure界面设置操作
Feb 05 Python
python热力图实现的完整实例
Jun 25 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中的加密功能
2006/10/09 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
PHP使用标准库spl实现的观察者模式示例
2018/08/04 PHP
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
python 实现红包随机生成算法的简单实例
2017/01/04 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python实现矩阵打印
2019/03/02 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
详解Django CAS 解决方案
2019/10/30 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
基于python实现复制文件并重命名
2020/09/16 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
求职自荐信格式
2013/12/04 职场文书
皮肤科医师岗位职责
2013/12/04 职场文书
心理健康教育心得体会
2013/12/29 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
工地宣传标语
2014/06/18 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
志愿者事迹材料
2014/12/26 职场文书
大学生团日活动总结
2015/05/06 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS
基于Redis位图实现用户签到功能
2021/05/08 Redis
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS