最最最简单!!!!
from urllib.request import urlretrieve # Python 2.7.9 之后版本引入了一个新特性:当你 urllib.urlopen一个 http s的时候会验证一次 SSL 证书 ,当目标使用的是自签名的证书时就会爆出该错误消息 # 解决方法:在全局添加如下两行代码 import ssl ssl._create_default_https_context = ssl._create_unverified_context # 爬txt文件内容 TXT_URL = "http://www.trustlet.org/datasets/extended_epinions/rating.txt" urlretrieve(TXT_URL, r'C:\Users\10840\Downloads\rating.txt') # 爬图片 IMAGE_URL = "https://morvanzhou.github.io/static/img/description/learning_step_flowchart.png" urlretrieve(IMAGE_URL, r'C:\Users\10840\Downloads\img.png') print("finish yeyeyey ~~~~")requests 可以更加有效率的下载大文件, 比如视频等。 requests 能让你下一点, 保存一点, 而不是要全部下载完才能保存去另外的地方。这就是一个 chunk 一个 chunk 的下载。 使用 r.iter_content(chunk_size) 来控制每个 chunk 的大小, 然后在文件中写入这个 chunk 大小的数据。
import requests IMAGE_URL = "https://morvanzhou.github.io/static/img/description/learning_step_flowchart.png" # 无大小控制 r = requests.get(IMAGE_URL) with open(r'C:\Users\10840\Downloads\img.png', 'wb') as f: f.write(r.content) # 使用 chunk_size 控制大小 r = requests.get(IMAGE_URL, stream=True) with open(r'C:\Users\10840\Downloads\img.png', 'wb') as f: for chunk in r.iter_content(chunk_size=32): f.write(chunk)