尝试从网址

时间:2017-05-17 15:58:24

标签: python selenium ssl web-scraping automation

所以我正在做一些网页抓取,而我正在尝试从网址下载图片。

这是我的代码:

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上查找答案,没有任何帮助。

由于

1 个答案:

答案 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)