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的lambda匿名函数的简单介绍
Apr 25 Python
在Python中使用Mako模版库的简单教程
Apr 08 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
浅析python中的迭代与迭代对象
Oct 08 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
Python中zip()函数的简单用法举例
Sep 02 Python
通过实例了解python property属性
Nov 01 Python
python创建学生管理系统
Nov 22 Python
Python实现七个基本算法的实例代码
Oct 08 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用strstr()函数阻止垃圾评论(通过判断a标记)
2013/09/28 PHP
php短信接口代码
2016/05/13 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
JavaScript实现的select点菜功能示例
2017/01/16 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
Python发送Email方法实例
2014/08/21 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
python中学习K-Means和图片压缩
2017/11/20 Python
python集合常见运算案例解析
2019/10/17 Python
pytorch::Dataloader中的迭代器和生成器应用详解
2020/01/03 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
Python callable内置函数原理解析
2020/03/05 Python
keras多显卡训练方式
2020/06/10 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
创建市级文明单位实施方案
2014/03/01 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
Docker官方工具docker-registry案例演示
2022/04/13 Servers