路过乌云 2018-03-04 19:10 采纳率: 75%
浏览 4472
已采纳

ssl._create_default_https_context无效

是否是使用了代理后
ssl._create_default_https_context = ssl._create_unverified_context
无效

获取代理ip

def get_proxy():
return requests.get("http://127.0.0.1:5010/get/").content

获得页面数据

def do_spider(page_no=1, encoding="gbk", parse_url="null"):
ssl._create_default_https_context = ssl._create_unverified_context
proxy = request.ProxyHandler({
"sock5": get_proxy()
})

opener = request.build_opener(proxy)
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
request.install_opener(opener)
# 对于二级页面进行爬取
if parse_url == "null":
    html_bytes = request.urlopen(url.format(page_no)).read()
else:
    html_bytes = request.urlopen(parse_url).read()
html_code = str(html_bytes, encoding)
return html_code

    异常
    Traceback (most recent call last):

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\urllib\request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\http\client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\http\client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\http\client.py", line 964, in send
self.connect()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\http\client.py", line 936, in connect
(self.host,self.port), self.timeout, self.source_address)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\socket.py", line 724, in create_connection
raise err
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\socket.py", line 713, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

循环6次左右后就会爆上面这个异常

  • 写回答

1条回答 默认 最新

  • oyljerry 2018-03-05 02:13
    关注

    这个是跟服务器连接失败,你的代理能不能正确连接等

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面