python小白想用python爬取下载一批ts文件,过程如下
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'}
kv = {'dnvodendtime': '1624040106', 'dnvodhash': 'HQGimsbqmJMuCKc05eipntdLrUI-I5Iw4pOKqfHEyAI=','dnvodCustomParameter': '0_202.133.213.38', 'lb':'b45065ee7d604a2a2a2ecf17bf29988e'}
for i in range(10, 13):
media_url = 'https://hss7-s1.dnvodcdn.me/ppot/_definst_/mp4:s7/vod/lxj-astzb22- 024BF8FC4.mp4/media_' + '%02d' % (i) + '.ts'
r=requests.get(media_url, headers=headers, params=kv)
with open("视频.ts",mode='wb') as f:
f.write(r.content)
测试过用for in range函数可以成功遍历那3个文件所在的URL,但是最后一步保存的时候却只能得到一个视频(遍历顺序为最后一个)是为什么呀?
要把with open("视频.ts",mode='wb') as f:放 for i in range(10, 13):外面,
先创建视频.ts文件,然后循环多次往文件中写入内容。
你那样把with open("视频.ts",mode='wb') as f:放 for i in range(10, 13):里面,
每次循环都会重新创建一个新的视频.ts文件,每次都把上一次创建的视频.ts文件覆盖掉了。
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'}
kv = {'dnvodendtime': '1624040106', 'dnvodhash': 'HQGimsbqmJMuCKc05eipntdLrUI-I5Iw4pOKqfHEyAI=','dnvodCustomParameter': '0_202.133.213.38', 'lb':'b45065ee7d604a2a2a2ecf17bf29988e'}
with open("视频.ts",mode='wb') as f:
for i in range(10, 13):
media_url = 'https://hss7-s1.dnvodcdn.me/ppot/_definst_/mp4:s7/vod/lxj-astzb22- 024BF8FC4.mp4/media_' + '%02d' % (i) + '.ts'
r=requests.get(media_url, headers=headers, params=kv)
f.write(r.content)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m