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中map和列表推导效率比较实例分析
Jun 17 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
python并发和异步编程实例
Nov 15 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
pytorch之ImageFolder使用详解
Jan 06 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
Python爬取数据并实现可视化代码解析
Aug 12 Python
python实现每天自动签到领积分的示例代码
Aug 18 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
Python利用folium实现地图可视化
May 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
天津市收音机工业发展史
2021/03/04 无线电
PHP脚本的10个技巧(3)
2006/10/09 PHP
PHP加密解密实例分析
2015/12/25 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
JS中的BOM应用
2018/02/02 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Django框架反向解析操作详解
2019/11/28 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
办护照工作证明范本
2014/01/14 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
庆祝教师节演讲稿
2014/09/03 职场文书
2015年超市工作总结
2015/04/09 职场文书