无论是图片,音乐,视频下载,都是先将资源以二进制读取,再以二进制写入文件,视频文件一般比较大,需要用断点传输,防止电脑运行内存占用过大
import urllib
import urllib2
import re
req = urllib2.Request("https://www.3329cc.com/Html/90/26903.html")
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()
reg = r'<a href="(.*?)" target='
url_list = re.findall(reg,html)
i = url_list[1]
print i
print '正在下载...'
urllib.urlretrieve(i,'./123.mp4')
print '下载完毕'
用python3 实现断点传输下载
import requests
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 = 'https://***.mp4'
r = requests.get(url=url,headers=headers, stream=True)
f = open("movie.mp4", "wb")
print('正在下载...')
for chunk in r.iter_content(chunk_size=512):
if chunk:
f.write(chunk)
print('下载完毕!')