scrapy分布式初试,在有缘网你找到真爱了吗

scrapy分布式初试,在有缘网你找到真爱了吗

这次使用scrapy_redis+scrapy分布式爬取有缘网
需要安装scrapy,scrapy_redis,redis,安装详情可以自行参考网上其他博文。
本文的爬虫项目已经写好,如果是小白可以去看其他到大佬的scrapy博文。
代码我放在github上,自行拿取
话不多说,上代码

1. 在settings.py修改
ITEM_PIPELINES = {
    # Store scraped item in redis for post-processing. 分布式redispipeline
    # 保存到redis数据库
    'scrapy_redis.pipelines.RedisPipeline': 300,
}

""" scrapy-redis配置 """
# Enables scheduling storing requests queue in redis.
# 修改调度器
SCHEDULER = "scrapy_redis.scheduler.Scheduler"      
# Ensure all spiders share same duplicates filter through redis.
# 去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

# 远程连接redis库
REDIS_HOST = 'your redis ip'
REDIS_PORT = 6379
2. 在爬虫文件里修改
# 导入
from scrapy_redis.spiders import RedisCrawlSpider

# CrawlSpider 改为 RedisCrawlSpider
class Mm180Spider(RedisCrawlSpider):
    name = 'mm18-0'
	# 注释掉
    # allowed_domains = ['http://www.youyuan.com/find/shenzhen/mm18-0/advance-0-0-0-0-0-0-0/p1/']
    # start_urls = ['http://www.youyuan.com/find/shenzhen/mm18-0/advance-0-0-0-0-0-0-0/p1/']
	
	# 添加
    redis_key = "mm18_0:start_urls"
3. 启动爬虫
# 启动爬虫
scrapy crawl mm18-0

虽然启动了,但没有url,整个项目处于等待状态

4. 在redis库中添加url
lpush mm18_0:start_urls http://www.youyuan.com/find/shenzhen/mm18-0/advance-0-0-0-0-0-0-0/p1/

添加后等待状态直接开始爬取,爬取数据保存在redis数据库里
在这里插入图片描述

总结

代码亲测有用,但不要过量爬取,影响他人网站。这只是个练手项目,想深入了解scrapy_redis,可以去github看开源代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值