所以我正在做一些网页抓取,而我正在尝试从网址下载图片。
这是我的代码:
import urllib
from urllib import request
urllib.request.urlretrieve(url, 'image.jpg')
运行此代码时出现2个错误:
ssl.SSLError:[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3警报握手失败(_ssl.c:645)
urllib.error.URLError:urlopen错误[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3警报握手失败 (_ssl.c:645)>
试图在Google上查找答案,没有任何帮助。
由于
答案 0 :(得分:1)
您可以使用此
import ssl
import urllib.request
url =
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
with urllib.request.urlopen(url, context=ctx) as u, \
open('image.jpg', 'wb') as f:
f.write(u.read())
<强>更新强>
如果以上不适合您,您可以使用
from urllib.request import Request, urlopen
url =
req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
with open('image.jpg', 'wb') as f:
f.write(webpage)