[本内容] 3360
Python批量下载视频
【内容介绍】:
短视频平台相信大家都在家刷过,那么你有没有遇到过自己喜欢的作者的视频突然不见了,看不下去了?
为了防止这种事情的发生,这次我教你把自己喜欢的作者视频下载到本地慢慢看。
【知识点】:
动态数据捕获,动态页面分析,请求携带参数,发送请求,json数据分析
[第三方库]:
请求pip安装请求
[开发环境]:
版本:python 3.8编辑:pycharm 2021.2没有环境的同学可以找我安装教程。我还录了一套安装基础环境的教程,你也可以免费找我要~
案例实现步骤:
一. 数据来源分析 (只有当你找到数据来源的时候, 才能通过代码实现)
1。确定要求(要爬的内容是什么?)抓取用户下对应的视频,保存mp42。抓取包,通过开发者工具进行分析。数据从哪里来(找出真正的数据来源)?总的来说,在加载动态页面开发工具和抓取https://www.kuaishou.com/graphql开发的数据包时,开发人员都是统一使用Google的。36860.68868688666
二. 代码实现过程
1.找到目标URL 2。发送请求1 .获取邮件3。解析数据(获取视频地址和视频标题)4 .发送请求请求每个视频地址5。保存视频
导入模块
导入请求#发送web请求导入json
一. 找到目标网址
1。打开一个作者视频页面。
https://www.kuaishou.com/profile/3xv78fxycm35nn4
密码
URL=’ 3359 www.kuaishou.com/graphql’
二. 发送请求 访问网页 get post
2。打开开发人员工具来刷新网页。
右键单击Check或F12打开。
选择网络并刷新网页。
3.只需点击一个视频
关注图上的备注,点击搜索内容依次展开,找到我们需要的视频地址,,
4.确定url地址,请求方式,请求参数,请求头参数
,确定url地址。请求方法是,请求头参数是010-。
# 统一替换# 1.选中要替换的内容# 2.按住快捷键注: 点亮星号*/2021版本一下点亮正则表达式# 3。在第一个框里面输入(.*?): (.*)# 4.在第二个框里面输入’$1′: ‘$2′,# 5.点击替换所有邮件头={ # content-type :代表数据类型内容类型’ : ‘应用程序/JSON ‘,’ Cookie ‘ : ‘ kpf=PC _ WEBkpn=快手_视觉;clientid=3;did=web _ 9d 70 EC 30050 b 94472 CB 5b 0b 56650 bfef;client _ key=65890 b29 userid=270932146 kuai shou。服务器。web _ ST=chzrdwfpc 2 hvds 5 zzxj 2 zxiu D2 vil nn 0 eqabw 0 ykifhs _ Wdd _ a9 lyqjsj 8 fyjgp 3 H5 cfohtpjhme 6 mehxivejdigynut 0 axpa-faqons 91249 Zr 0 vne 4 huyxoecuv 96 zi 0 hstjj 0 ributcizrhzzc 4 tiqoubvo 8t-jpi 0 jfzhomfmtzpkawugurfk 4 mwdpgsr 2 au 4 rrl服务器。web _ ph=9 eab 58 a 431 c 308 CAC 5 cfcc 644147 e 03 b 0593 ‘,’ Host’: ‘www.kuaishou.com ‘,’ Origin ‘ : ‘ https://www .快手。’ : ‘ 3359 www .快手。com/profile/3xv 78 fxycm 35 nn 4 ‘,’用户代理’ : ‘ Mozilla/5.0(Windows ntwin 64 x64)AppleWebKit/537.36(KHTML,像壁虎一样)Chrome/96。0 .4664 .45 Safari/537.36 ‘,}#请求参数data data={ ‘操作名称’ : ‘ visionprofiletolist ‘,’查询’ : ‘查询visionprofiletolist(pcursor : String,userId: String,page: String,web page area : String){ \ n visionprofiletolist(pcursor :pcursor,userId :userId,page :page,web page area :web page area){ \ n result \ n llsid \ n web page area \ n feeds { \ n type \ n author { \ n \ n id \ n name \ n following \ n n cdn \ n URL \ n _ _ typename \ n } \ n标记{ \ n类型\ n名称\ n _ _ typename \ n } \ n照片{ \ n id \ n持续时间\ n标题\ n喜欢计数\ n真实喜欢计数\ n封面URL \ n封面URL { \ n cdn发送请求成功response=requests.post(url=url,headers=headers,data=data)JSON _ data=response。 JSON()
三. 解析数据 (获取视频地址 视频标题)
feeds=JSON _ data[‘ data ‘][‘ visionprofiletolist ‘][‘ feeds ‘]for feeds : caption=feed[‘ photo ‘][‘ caption ‘]video _ URL=feed[‘ photo ‘][‘ photo URL ‘]]
四. 发送请求 请求每个视频地址 content: 图片 视频 音频 二进制数据
video _ data=requests。获取(视频网址).带有open(f’video\\{caption}.mp4 ‘,mode=’ WB ‘)as f : f . write(video _ data)print(caption,’的内容下载成功!’)
五.总结
链接地址https://www.kuaishou.com/graphql :号
请求方式:邮政
请求头(伪装):
headers={ ‘ content-type ‘ : ‘ application/JSON ‘,’ Cookie’: ‘你自己的cookie ‘,’ Host’: ‘www.kuaishou.com ‘,’ Origin ‘ : ‘ https://www .快手。’ : ‘ https://www .快手。com/profile/3xv 78 fxycm 35 nn 4 ‘,’用户代理’ : ‘ Mozilla/5.0(Windows NT 10.0;win 64x 64)apple WebKit/537.36(KHTML,像壁虎一样)Chrome/95。0 .4638 .69 Safari/537.36 ‘ }
请求参数
data={ ‘ operational name ‘ 3330 ‘ vis profile photo list ‘,’ query ‘ 3330 ‘ query vis profile photo list(PC cursor 3360 string,userid : string,page : string,web page area 3330 string){ \ n vis profile photo list(PC cursor 3330PC cursor,userid 3360userid,page :page,web page area 333330web page area){ \ n result \ n web page
嗨嗨嗨嗨嗨嗨嗨嗨,张居正与张居正
333010-35000010个:你知道,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说,我是说.你是说.
你好,阿曼苏丹国!
我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是!吴经盛吗(_ _ _ _年)
吴亚玲?吴亚玲,阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳阿琳!
————————————————