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实现单词拼写检查
Apr 25 Python
Python多进程分块读取超大文件的方法
Apr 13 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
基于python的ini配置文件操作工具类
Apr 24 Python
python使用装饰器作日志处理的方法
Jul 11 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
Python二元赋值实用技巧解析
Oct 25 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 Python
Python如何优雅删除字符列表空字符及None元素
Jun 25 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 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
社区(php&&mysql)四
2006/10/09 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php计算title标题相似比的方法
2015/07/29 PHP
php简单中奖算法(实例)
2017/08/15 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
酒店服务实习自我鉴定
2013/09/22 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
安全教育主题班会教案
2015/08/12 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书