Python使用scrapy采集数据过程中放回下载过大页面的方法


Posted in Python onApril 08, 2015

本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法。分享给大家供大家参考。具体分析如下:

添加以下代码到settings.py,myproject为你的项目名称

DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.LimitSizeHTTPClientFactory'

自定义限制下载过大页面的模块

MAX_RESPONSE_SIZE = 1048576 # 1Mb

from scrapy.core.downloader.webclient import ScrapyHTTPClientFactory, ScrapyHTTPPageGetter

class LimitSizePageGetter(ScrapyHTTPPageGetter):

    def handleHeader(self, key, value):

        ScrapyHTTPPageGetter.handleHeader(self, key, value)

        if key.lower() == 'content-length' and int(value) > MAX_RESPONSE_SIZE:

            self.connectionLost('oversized')

class LimitSizeHTTPClientFactory(ScrapyHTTPClientFactory):

     protocol = LimitSizePageGetter

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
用Python的pandas框架操作Excel文件中的数据教程
Mar 31 Python
在centos7中分布式部署pyspider
May 03 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
python中单例常用的几种实现方法总结
Oct 13 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
python之生成多层json结构的实现
Feb 27 Python
自学python用什么系统好
Jun 23 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 #Python
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 #Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 #Python
使用IPython来操作Docker容器的入门指引
Apr 08 #Python
仅用50行Python代码实现一个简单的代理服务器
Apr 08 #Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 #Python
Python 创建子进程模块subprocess详解
Apr 08 #Python
You might like
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
采用memcache在web集群中实现session的同步会话
2014/07/05 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
高效使用Python字典的清单
2018/04/04 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
django和vue实现数据交互的方法
2019/08/21 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
python3爬虫中异步协程的用法
2020/07/10 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
意大利奢侈品网站:Italist
2016/08/23 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
现金会计岗位职责
2013/12/05 职场文书
小学数学课题方案
2014/06/15 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
授权委托书
2014/07/31 职场文书
2015年教师新年寄语
2014/12/08 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
卫生保健工作总结2015
2015/05/18 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
利用python调用摄像头的实例分析
2021/06/07 Python
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android