无论是图片,音乐,视频下载,都是先将资源以二进制读取,再以二进制写入文件,视频文件一般比较大,需要用断点传输,防止电脑运行内存占用过大
- 代码实现,python2.7解释器
# -*- coding: utf-8 -*-
import urllib
import urllib2
import re
# 打开网页源码
# html = urllib.urlopen().read()
req = urllib2.Request("https://www.3329cc.com/Html/90/26903.html")
# 添加请求头 User-Agent
# user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36
req.add_header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36")
html = urllib2.urlopen(req).read()
# <a href="https://d2.xia12345.com/down/90/2018/07/tjptutgx.mp4" target="_blank"><font color="red">https://d2.xia12345.com/down/90/2018/07/tjptutgx.mp4</font></a>
reg = r'<a href="(.*?)" target='
#列表url
url_list = re.findall(reg,html)
# for i in url_list:
# filename = i.split('/')[-1]
# 下载 (链接, 目录)
i = url_list[1]
print i
print '正在下载...'
urllib.urlretrieve(i,'./123.mp4')
print '下载完毕'用python3 实现断点传输下载
# -*- coding: utf-8 -*-
import requests
# 添加请求头 User-Agent
# user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36
headers= {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"}
# 下载的视频url地址
url = 'https://***.mp4'
r = requests.get(url=url,headers=headers, stream=True)
f = open("movie.mp4", "wb")
# for chunk in r.iter_content(chunk_size=512):
# 断点传输
print('正在下载...')
for chunk in r.iter_content(chunk_size=512):
if chunk:
f.write(chunk)
print('下载完毕!')版权声明:本文为weixin_42337937原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。