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服务器拒绝服务攻击代码
Jan 16 Python
Python跳出循环语句continue与break的区别
Aug 25 Python
Python中的迭代器与生成器高级用法解析
Jun 28 Python
Python和C/C++交互的几种方法总结
May 11 Python
利用python批量修改word文件名的方法示例
Oct 17 Python
python获取点击的坐标画图形的方法
Jul 09 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
python 实现两个线程交替执行
May 02 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
python raise的基本使用
Sep 10 Python
Python collections模块的使用方法
Oct 09 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 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
社区(php&&mysql)三
2006/10/09 PHP
PHP静态类
2006/11/25 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
详解Vue打包优化之code spliting
2018/04/09 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
python生成器的使用方法
2013/11/21 Python
python 实时遍历日志文件
2016/04/12 Python
微信跳一跳python代码实现
2018/01/05 Python
opencv python如何实现图像二值化
2020/02/03 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
程序员求职信
2014/04/16 职场文书
社会实践活动总结报告
2014/04/29 职场文书
学校机关党总支领导班子整改工作方案
2014/10/26 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
初中数学教学随笔
2015/08/15 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书