Python爬虫之App爬虫视频下载的实现


Posted in Python onDecember 08, 2020

前言

随着手app的发展逐渐强大,我们手机应用每天的生活也是非常的多。那我们怎么知道他的数据是怎么形成的,通过电脑端如何爬取。相信大家也有这样的问题。下面我将讲解这些操作流程。

一、操作流程

首先我们要有

  • fidder4
  • 夜神模拟器
  • pycharm
  • python3.0或以上版本

 二、fidder4抓包

1.fidder配置

首先我们先下载fidder,
打开Fiddler,点击Tools => Options 打开配置选项,切换到第二个标签页HTTPS,先在这里打勾

Python爬虫之App爬虫视频下载的实现

然后就是点下面如图所示的单选框,点击Actions,运行第一个Trust Root Certificate。后面会有一个框,记得点击确定。

Python爬虫之App爬虫视频下载的实现

打开Fiddler,点击Tools => Options… 打开配置选项,切换到第三个标签页Connections,修改如图所示的地方,端口号可任意修改,这里使用我自定的9999,请记住自己设置的端口号,后面有需要使用的地方。

Python爬虫之App爬虫视频下载的实现

2.模拟器配置

我们为什么使用模拟器,因为由于Fidder抓包,要在局域网环境下,我们大部分电脑都是以宽带连接,所以我这里就以模拟器讲解抓包,后续我会更新一期fidder手机抓包。

这里们先打模拟器,设置模拟器的代理。我们先查看自己的本机IP,通过cmd命令输入ipconfig即可查看本机的ip,我的本机IP是192.168.1.2

Python爬虫之App爬虫视频下载的实现

这里打开模拟器的设置,找到我们WLAN用点击,我们看到我们的wifi,用鼠标点击时间长一点,它会出现设置的,下面我用视频给大家看一下

Python爬虫之App爬虫视频下载的实现

我们本机ip进行代理哦

Python爬虫之App爬虫视频下载的实现

3.模拟器证书安装

我们用模拟器打开浏览器,输入我们本机ip加端口,就是 192.168.1.2:9999

Python爬虫之App爬虫视频下载的实现

点击这个下载证书,下载完成后安装证书,命名随便命名。密码自己要记入。
上述如果都做成功了,应该就没什么问题了。

三、fidder4解析视频网站

Python爬虫之App爬虫视频下载的实现

这是我们模拟器里的app,app名字我会在下面评论发出。

Python爬虫之App爬虫视频下载的实现

这里的所和上面的正好相对应,这里相信我们大家都找到了,
我们可以把fidder抓包到的数据在这里,这个是我们的数据网址
https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page=1
我们通过模拟器视频往下滑,可以知道它是分页的,那样会有好多小姐姐视频哦,
https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page=2
这里就是第二页的数据,这个时候就可以通过pycharm进行解析了。

pycharm编写app代码

import requests
import json
def Demo(page):
 url='https://v.6.cn/coop/mobile/index.php?act=recommend&padapi=minivideo-getlist.php&page={}'.format(page)

 header={
  'User-Agent':'XY0xDgIxDAS)wgtOthPHTn5AQUVFdXLOCRwSdEhX5PGQFmlHo6n22D)bw973lz13W2)XlZe8pKEpEEdBTgmU4ricT3kQENEI04ATJcbg2VsnEcvoVttmTXpq7r)sVToAdNLqmaxF1B6HFigkhXgO(f)rCw@@'
 }

 response = requests.get(url,headers=header,verify=False).json()
 data=response['content']['list']	#由于网站是json数据我们可以通过json解析,然后在进行数据的爬取
 for i in data:
  title =i['title'] #这里爬取的是视频标题
  playurl=i['playurl']	#这里是爬取是的视频的url
  Video(title,playurl)

def Video(title,playurl):
 header = {
  'User-Agent': 'XY0xDgIxDAS)wgtOthPHTn5AQUVFdXLOCRwSdEhX5PGQFmlHo6n22D)bw973lz13W2)XlZe8pKEpEEdBTgmU4ricT3kQENEI04ATJcbg2VsnEcvoVttmTXpq7r)sVToAdNLqmaxF1B6HFigkhXgO(f)rCw@@'
 }
 response = requests.get(playurl,headers=header,verify=False)
 # 文件写入异常机制
 try:
 	#由于写入可以会有点出错,我们要加一个异常处理机制,这样可以提高我们的程序性能。
  with open('VIdeo/{}.mp4'.format(title),'ab') as f:
   f.write(response.content)
 except Exception as e:
  print(e)

for i in range(1,11):
 Demo(i)

总结

以上就是今天要讲的内容,本文简单的对fidder配置与模拟器的证书安装,通过fidder监视app传输的数据进行解析,我们知道此网址有分页功能 ,最后我们通过pycharm编写程序,这些操作看似繁锁,其实看懂了,就很简单。

到此这篇关于Python爬虫之App爬虫视频下载的实现的文章就介绍到这了,更多相关Python App爬虫视频下载内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python简单实现enum功能的方法
Apr 25 Python
浅谈pyhton学习中出现的各种问题(新手必看)
May 17 Python
全面分析Python的优点和缺点
Feb 07 Python
python实现聊天小程序
Mar 13 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
Aug 05 Python
django项目简单调取百度翻译接口的方法
Aug 06 Python
详解Python中的format格式化函数的使用方法
Nov 20 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
深入理解python协程
Jun 15 Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 #Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 #Python
Python hashlib和hmac模块使用方法解析
Dec 08 #Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 08 #Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 #Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 #Python
python 爬取小说并下载的示例
Dec 07 #Python
You might like
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
php遍历目录viewDir函数
2009/12/15 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
VBScript版代码高亮
2006/06/26 Javascript
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
JS实现手风琴特效
2020/11/08 Javascript
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
python数据挖掘需要学的内容
2019/06/23 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
药剂专业自荐信范文
2014/04/16 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript