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也没有完整的说明,本人在这里整 ...
随机推荐
- Best Practices for Assembly Loading
原文链接 This article discusses ways to avoid problems of type identity that can lead to InvalidCastExce ...
- 【HNOI 2018】毒瘤
Problem Description 从前有一名毒瘤. 毒瘤最近发现了量产毒瘤题的奥秘.考虑如下类型的数据结构题:给出一个数组,要求支持若干种奇奇怪怪的修改操作(例如给一个区间内的数同时加上 \(c ...
- 详细分析Java中断机制-转载
1. 引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务.Java没有提供一种安全直接的方法 ...
- centos7配置consul
下载wget https://releases.hashicorp.com/consul/1.4.2/consul_1.4.2_linux_amd64.zip解压unzip consul_1.4.2_ ...
- 实验五 <FBG>团队亮相
一.队名:FBG 二.队员: 201571030321:马玉婷 (小队长) 201571030317:马美玲 201571030331:益西卓嘎 三.队员风采: 201571030321:马玉婷 风格 ...
- hdu-1536 S-Nim SG函数
http://acm.hdu.edu.cn/showproblem.php?pid=1536 给出能够取的方法序列,然后求基本石子堆问题. 只要用S序列去做转移即可. 注意has初始化的一些技巧 #i ...
- My Team——面向对象与软件工程实验三
My Team 一.Name GDTX(团队成员姓氏的拼音首字母组成) 二.项目描述 微信小程序(小洁便签): 1,功能齐全:小洁便签具有大多数便签APP所具有的添加.查看.修改和删除便签内容以及插入 ...
- js如何实现类的继承
方法一:借助构造函数实现继承 这种方法的缺点:原型链上的东西并没有被继承. 方法二:借助原型链实现继承 这种方法的缺点:改变了一个实例对象,另一个实例对象也跟着改变,因为s1.__proto__ == ...
- python3 LDA主题模型以及TFIDF实现
import codecs #主题模型 from gensim import corpora from gensim.models import LdaModel from gensim import ...
- jquery 判断浏览器版本
如果你也是Jquery最初的使用者,那么你一定经历过这样判断浏览器的时代:$.browser.msie && $.browser.version,你目前使用的组件里可能还有应用.但是J ...