scrapy_redis项目配置
一、创建普通scrapy项目
二、spiders爬虫文件中修改项
import scrapy
from XX.items import XXItem
import json
# ----1 导入类
from scrapy_redis.spiders import RedisSpider # ----2 修改类的继承
class BookSpider(RedisSpider):
name = 'book' # ----3 注销起始的url和允许的域
# allowed_domains = ['xx.com', 'x.x.cn']
# start_urls = ['https://xxxx.xx.com/xxxxx.html'] # ----4设置 rediskey
redis_key = 'start_url' # ----5 动态获取允许的域
def __init__(self, *args, **kwargs):
domain = kwargs.pop("domains", "")
self.alllowed_domains = filter(None, domain.split(','))
print("start_url:", self.alllowed_domains)
super(BookSpider, self).__init__(*args, **kwargs) def parse(self, response):
pass
三、配置文件settings中配置项
SPIDER_MODULES = ['XX.spiders']
NEWSPIDER_MODULE = 'XX.spiders' USER_AGENT = 'scrapy-redis (+https://github.com/rolando/scrapy-redis)' # 设置重复过滤器模块,使重复过滤器使用redis中的集合进行去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# 设置调度器模块,是调度器能够使用redis中的列表作为任务队列,储存和使用请求对象
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# 设置redis数据库中的任务队列是否保持
SCHEDULER_PERSIST = True
#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"
#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"
#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack" ITEM_PIPELINES = {
# 'example.pipelines.ExamplePipeline': 300,
# 只要添加该管道,则数据都会往redis队列中做存储
'scrapy_redis.pipelines.RedisPipeline': 400,
} LOG_LEVEL = 'DEBUG' REDIS_URL = "redis://127.0.0.1:6379" # Introduce an artifical delay to make use of parallelism. to speed up the
# crawl.
DOWNLOAD_DELAY = 1
四、redis中设置开始url
1.同一个爬虫分窗口启动多次
命令:scrapy runspider spider_name.py
2.启动redis客户端设置开始url
redis客户端执行:lpush start_url http://baidu.com
scrapy_redis项目配置的更多相关文章
- Project server 2016 “没有为此项目配置网站”错误处理
问题: 没有为此项目配置网站. There is no site configured for this project 解决办法: 依次点击设置>PWA设置>连接到sharepoint网 ...
- thinkphp3.22 多项目配置
1.index.php if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试 ...
- VS2010的项目配置
一直对VS的项目配置都是不怎么了解的,以前用过点,半年不用后,什么都忘记了... 下面这个是免于输入过长的引用头文件的,比如:#include “D:/C++/curl-7.37.0/libcurl/ ...
- VC项目配置基础以及快捷键(收藏)
来自http://blog.csdn.net/phunxm/article/details/5082488 一.IDE基础配置 1.字体 VC6中“Tools→Options→Format→Font” ...
- ThinkPHP多应用/项目配置技巧(使用同一配置文件)--(十六)
原文:ThinkPHP多应用/项目配置技巧(使用同一配置文件)--(十六) ThinkPHP多应用配置技巧(没有使用分组,这是通过入口文件产生的Home.Admin)----很实用! 比如:现在有Ho ...
- 理解 IntelliJ IDEA 的项目配置和Web部署
1.项目配置的理解 IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行.最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse ...
- 在找一份相对完整的Webpack项目配置指南么?这里有
Webpack已经出来很久了,相关的文章也有很多,然而比较完整的例子却不是很多,让很多新手不知如何下脚,下脚了又遍地坑 说实话,官方文档是蛮乱的,而且有些还是错的错的..很多配置问题只有爬过坑才知道 ...
- ASP.NET Core 项目配置 ( Startup )(转载)
原文:https://www.twle.cn/l/yufei/aspnetcore/dotnet-aspnet-startup.html 由于是个人网站,怕没了,特意复制保存,个人觉得讲的非常透彻 前 ...
- Intellij IDEA导入eclipse项目配置jdk、tomcat到浏览器正常访问
转发自:博客园---Lindp(大佬写的甚好) 以下是转发的正文 intellij idea中文资料网上比较少,对于eclipse的项目如何导入intellij idea也没有完整的说明,本人在这里整 ...
随机推荐
- Visual Studio 2017 和 Visual Assist X 番茄助手的安装教程
声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 一.Visual Studio 2017的安装教程 Visual Studi ...
- Zynq启动流程
前言 Zynq启动流程和ARM处理器类似,PS部分是启动和配置过程的主设备,芯片引导必须由处理器驱动,系统上电复位后会读取设备模式引脚来决定从什么设备启动芯片.如下表Boot Devices条目所示, ...
- Lintcode155-Minimum Depth of Binary Tree-Easy
155. Minimum Depth of Binary Tree Given a binary tree, find its minimum depth. The minimum depth is ...
- java知识点集锦--基础知识部分
1.面向对象特征:封装.继承.多态 封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口来访问.面向对象的本质就是将现实世界描绘成一系列完全自治.封闭的对象.我们在类中编写的方法就是 ...
- mac 安装2019Adobe全家桶
链接:https://pan.baidu.com/s/1UrAnB5fmHKmYPESvqkU3Rg 密码:803f 下载大师版, 进入解压后的文件夹,双击安装程序 打开了安装界面,进入下图中的安装 ...
- java异常处理try catch finally
1 异常 1.1 异常处理的作用 在编程时,如果出现文件打开失败,读写文件就会异常退出.如果出现内存溢出错误,程序也会异常退出.如果不能对这些异常进行处理.程序则无法正常运行.所 ...
- python正则表达式 - re
1,匹配符号 任意字符 . : 任意字符,除了\n,flags设置为DOTALL(S)可以让.匹配\n []字符集合,字符组:规范/元字符不同于正则式主体 [0-9] : 数字 [A-Z] : 大写字 ...
- LeetCode--031--下一个排列(java)*
实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许使用额外常数空间. ...
- python实现单线程多任务非阻塞TCP服务端
代码 # coding:utf- from socket import * # .创建服务器socket sock = socket(AF_INET, SOCK_STREAM) # .绑定主机和端口 ...
- vue案例todolist备忘录
项目效果:https://cinderellastory.github.io/todolist/dist/index.html#/ 项目链接:https://github.com/Cinderella ...