Python使用scrapy采集数据过程中放回下载过大页面的方法
作者:pythoner 发布时间:2021-10-22 12:39:22
标签:Python,scrapy,采集
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- 安装依赖主要这边还需要安装两个依赖,gorm、viper ,具体的可以访问他们的官网(Gorm官网地址 Viper Github地址)初始化
- df.sort_index()实现按索引排序,默认以从小到大的升序方式排列,如希望按降序排列,传入ascending = Falseimpo
- 搞了一上午,头都大了!最终解决问题。其实这问题老早就遇上了,但是比较懒,三下两下没整好便推开了搜索了一下,产生< msxml3.dll
- 前言select作为Go chan通信的重要监听工具,有着很广泛的使用场景。select的使用主要是搭配通信case使用,表面上看,只是简单
- 简介Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联
- 构建运动模糊模型现假定相机不动,图像f(x,y)在图像面上移动并且图像f(x,y)除移动外不随时间变化。令x0(t)和y0(t)分别代表位移
- 最近看到一个内部项目的插件加载机制,非常赞。当然这里说的插件并不是指的golang原生的可以在buildmode中加载指定so文件的那种加载
- 映射类型操作符(1)标准类型操作符 字典可以和所有的标准
- 如下所示:# coding=gbkfrom PIL import Imageimport numpy as np# import scipy
- 在数据预处理过程中可能需要将列的顺序颠倒,有两种方法。import numpy as npimport pandas as pddf = p
- 前言:枚举(enumeration)在许多编程语言中常被表示为一种基础的数据结构使用,枚举帮助组织一系列密切相关的成员到同一个群组机制下,一
- 需要下载某网站的视频,chrome浏览器按F12打开开发者模式,发现视频链接是以"blob:http"开头的链接,打开这
- 看网络小说一般会攒上一波,然后导入Kindle里面去看,但是攒的多了,机械的Ctrl+C和Ctrl+V实在是OUT,所以就出现了此文。其实P
- Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。timeit 模块
- 目录实例031:字母识词实例032:反向输出II实例033:列表转字符串实例034:调用函数实例035:设置输出颜色实例036:算素数实例0
- 将try except中捕获到的异常信息输出到日志文件中,方便查找错误原因,tranceback模块提供了把详细出错堆栈信息格式化成字符串返
- 1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE &
- 最近在工作当中遇到一个问题 有个页面需要添加一个浏览历史记录功能具体来说就是要记录下用户在此网站的点击历史 并把它们降序排列出来(只显示前6
- Python 队列Queue 队列是一种先进先出(FIFO)的数据类型, 新的元素通过 入队 的方式添加进 Queue 的末尾, 出队 就是
- 前言临近期末做了一个商品销售管理系统,分享下,全部源码在码云,需要自取,博客只分享部分代码(太多了)。数据库的建立我们使用Navicat P