python爬虫中遇到的假死问题

如在请求一个URL,网站没有响应的时候,会无限卡死进程。这个时候我们可以在urllib2.urlopen设置一个超时时间,超过这个时间的话就抛出异常。如下所示。

我们可以捕抓到这个异常然后用自己的方法去处理。

try:    req = urllib2.Request(imgurl,None,headers=headers)    response = urllib2.urlopen(req,timeout=5)    the_page = response.read()except socket.timeout as e:    response.close()except urllib2.HTTPError as e:    continue

常见的还有404,url无效的错误。注意,整这个过程真正发送和接收请求的是在response.read()时.

原文地址:https://www.cnblogs.com/lsjk/p/9185449.html

时间: 2024-10-15 02:21:10

python爬虫中遇到的假死问题的相关文章

python爬虫中图形验证码的处理

使用python爬虫自动登录时,遇到需要输入图形验证码的情况,一个比较简单的处理方法是使用打码平台识别验证码. 使用过两个打码平台,打码兔和若快,若快的价格更便宜,识别率相当.若快需要注册两个帐号:开发者帐号与用户帐号,用户帐号用于发送识别请求,开发者帐号可以注册软件id,并于识别请求进行绑定,可以参与识别收入的分成返现. 获取图形验证码目前发现的有两种方式: 0x01 在抓包中可以直接获得图片:发送get请求可以直接获取图片(png或jpg格式),这种情况可以使用request.get()返回

python爬虫中涉及json数据的处理

在执行爬虫项目的过程中,有时返回的不是一个html页面而是json格式数据,此时对数据的解析非常重要. 1.Json格式数据的爬取   采用request对以上的url进行爬取: import  requests content=requests.get(url,headers=headers).content 在爬取的过程中,考虑到需要模拟真实的用户,因此需要添加cookie或者header参数. 2.对爬取的json格式数据的解析 数据已经爬取下来,存放在contend里面,接下来就是对数据

python爬虫中遇到的问题以及解决方法

(1)运行后报错:“TypeError: cannot use a string pattern on a bytes-like” 原因:content用decode(‘utf-8’)进行解码,由bytes变成string.py3的urlopen返回的不是string是bytes. 解决方案:把’content’类型调整一下:content.decode(‘utf-8’) (2)运行后报错:“sqlite3.InterfaceError: Error binding parameter 1 -

C# 解决窗体假死的状态

异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能.可伸缩应用程序的关键.在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作.我们通常使用异步完成许多计算型.IO型的复杂.耗时操作,去取得我们的应用程序运行所需要的一部分数据.在取得这些数据后,我们需要将它们绑定在UI中呈现.当数据量偏大时,我们会发现窗体变成了空白面板.此时如果用鼠标点击,窗体标题将会出现”失去响应”的字样,而实际上UI线程仍在工作着,这对用户来说是一种极度糟糕的体验.如果你希望了解其中的原因

谈.Net委托与线程——解决窗体假死

引言 在之前的<创建无阻塞的异步调用>中,已经介绍过异步调用的编写步骤和实施原理.异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能.可伸缩应用程序的关键.在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作.我们通常使用异步完成许多计算型.IO型的复杂.耗时操作,去取得我们的应用程序运行所需要的一部分数据.在取得这些数据后,我们需要将它们绑定在UI中呈现.当数据量偏大时,我们会发现窗体变成了空白面板.此时如果用鼠标点击,窗体标题将会出现"失去响应&

C# 委托 线程 窗体假死

转载:http://www.cnblogs.com/smartls/archive/2011/04/08/2008981.html 异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能.可伸缩应用程序的关键.在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作.我们通常使用异步完成许多计算型.IO型的复杂.耗时操作,去取得我们的应用程序运行所需要的一部分数据.在取得这些数据后,我们需要将它们绑定在UI中呈现.当数据量偏大时,我们会发现窗体变成了空白面板.此时如果用

python 爬虫(转,我使用的python3)

原文地址:http://blog.csdn.net/pi9nc/article/details/9734437 [Python]网络爬虫(一):抓取网页的含义和URL基本构成 分类: 爬虫 Python2013-05-13 22:30 1597人阅读 评论(0) 收藏 举报 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于

“假死战术”在程序中的实际运用及效果

在我上一篇介绍网页版pongo开发的博文中,有一点当时并没在意,直到今天下午在翻看<软件随想录>这书时,恰好看到了书中作者在"易用性是不够的"这主题下提到的"假死战术"的例子时,才恍然大悟,原来自己无意中就在平时的开发中使用过了"假死战术",甚是欣喜,下面是针对自己例子做的讲演. 在Pongo+游戏界面中有个"提交成绩"的按钮 ,目的是为了能让用户及时上传成绩进而排名并取前10名进行展示,继而满足用户的比较心理,使