scrapy_redis分布式爬虫与scrapyd部署爬虫

使用scrapy_redis库实现分布式爬取。命令安装:pip install scrapy_redis
`
修改项目中settings.py文件配置信息

# 替换scrapy调度器,使用scrapy_redis调度
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# 使用scrapy_redis去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
# 设置Redis的连接信息,这里的可以设置用户名和密码,如果没有则为空
REDIS_URL = "redis://localhost:6379"
# 设置Redis队列是否保存(去重队列和请求队列会一直保存在Redis数据库中,用户可以暂停和启动爬虫而不影响继续去重)
SCHEDULER_PERSIST = True
# 设置重启爬虫时是否清空爬虫队列(如果设置为True,每次重启爬虫,系统都会清空去重队列和请求队列,一般设置为False)
SCHEDULER_FLUSH_ON_START = True

修改spider文件
将爬虫类修改为继承自scrapy_redis.spiders.RedisCrawSpider类。

from scrapy_redis.spiders import RedisCrawlSpider
class LianjiaSpider(RedisCrawlSpider):
    name = 'lianjia'
    allowed_domains = ['m.lianjia.com']
    redis_key = 'LianjiaSpider:start_urls'

运行爬虫,会等待添加url
在命令行定位到redis目录,采用集合命令:redis-cli lpush LianjiaSpider:start_urls https://m.lianjia.com/bj/jingjiren/ao22pg1

使用scrapyd部署爬虫。命令安装:pip install scrapydpip install scrapyd-client

配置爬虫项目中的scrapy.cfg文件

[settings]
default = pachong8.settings
[deploy]
url = http://localhost:6800/
project = pachong8

命令行进入到爬虫项目目录并执行命令:

scrapyd-deploy

提示部署status状态是OK则爬虫部署成功

启动爬虫输入:

curl http://localhost:6800/schedule.json -d project=pachong8 -d spider=lianjia

可以在浏览器打开:http://localhost:6800/,查看爬虫运行情况

如果需要停止爬虫,输入命令:

curl http://localhost:6800/cancel.json -d project=pachong8 -d job=JOB_ID

JOB_ID通过浏览器查看PID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值