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 相关文章推荐
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
跟老齐学Python之Python安装
Sep 12 Python
python实现在windows下操作word的方法
Apr 28 Python
简单介绍Python中的struct模块
Apr 28 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
Dec 19 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
解决Jupyter NoteBook输出的图表太小看不清问题
Apr 16 Python
python 利用opencv实现图像网络传输
Nov 12 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 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 class类的用法详细总结
2013/10/17 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
Laravel 将数据表的数据导出,并生成seeds种子文件的方法
2019/10/09 PHP
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
详解Python中的type()方法的使用
2015/05/21 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
浅谈Python NLP入门教程
2017/12/25 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
矫正人员思想汇报
2014/01/08 职场文书
西式婚礼主持词
2014/03/13 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
聘任书格式及范文
2015/09/21 职场文书
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android