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网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
python进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
python杀死一个线程的方法
Sep 06 Python
Python解析json文件相关知识学习
Mar 01 Python
网站渗透常用Python小脚本查询同ip网站
May 08 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
python实现猜数字小游戏
Mar 24 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
Feb 13 Python
django实现后台显示媒体文件
Apr 07 Python
Python常遇到的错误和异常
Nov 02 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
PHP7.0版本备注
2015/07/23 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
PHP Include文件实例讲解
2019/02/15 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
解决webpack+Vue引入iView找不到字体文件的问题
2018/09/28 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
进一步了解Python中的XML 工具
2015/04/13 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python修改txt文件中的某一项方法
2018/12/29 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
值得收藏的10道python 面试题
2019/04/15 Python
python频繁写入文件时提速的方法
2019/06/26 Python
python之mock模块基本使用方法详解
2019/06/27 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
党员的自我评价范文
2014/01/02 职场文书
初一英语教学反思
2014/01/11 职场文书
授权委托书怎么写
2014/04/03 职场文书
中学生英语演讲稿
2014/04/26 职场文书
欢迎标语大全
2014/06/21 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python