IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    urllib2.urlopen超时问题

    红豆殺发表于 2015-11-11 04:26:24
    love 0

    问题描述:

        没有设置timeout参数,结果在网络环境不好的情况下,时常出现read()方法没有任何反应的问题,程序卡死在read()方法里,搞了大半天,才找到问题,给urlopen加上timeout就ok了,设置了timeout之后超时之后read超时的时候会抛出socket.timeout异常,想要程序稳定,还需要给urlopen加上异常处理,再加上出现异常重试,程序就完美了。



    解决方案:

        有时候我们在爬取网络数据时,会因为对方网速缓慢、服务器超时等原因, 导致 urllib2.urlopen() 之后的 read()操作(下载内容)卡死,要解决这个问题方法有如下几个:

    1、为urlopen设置可选参数 timeout

    [crayon-5642d10d34bd1011193403/]

    2、设置全局的socket超时:

    [crayon-5642d10d34be5427676515/]

    3、使用定时器 timer

    [crayon-5642d10d34beb622392143/]

    Related Posts

    • 使用virtualenv创建虚拟python环境(0)
    • Python模拟java的do while循环(0)
    • 查询IP地址或域名地理位置的脚本(0)
    • 一个Python图片抓取小爬虫(1)

    Recent Comments



    沪ICP备19023445号-2号
    友情链接