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

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-04 18:13
    关注

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

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

报告相同问题?

悬赏问题

  • ¥15 代写uni代码,app唤醒
  • ¥15 全志t113i启动qt应用程序提示internal error
  • ¥15 ensp可以看看嘛.
  • ¥80 51单片机C语言代码解决单片机为AT89C52是清翔单片机
  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部