安装 Scrapy_redis 模块: pip3 install scrapy-redis
项目名/spiders/爬虫名.py(爬虫,分布式爬虫,继承RedisSpider):
# -*- coding: utf-8 -*-
import scrapy
from scrapy_redis.spiders import RedisSpider # 导入RedisSpider
# 爬虫,继承的是RedisSpider(分布式爬虫)
class DemoSpider(RedisSpider):
name = '爬虫名'
allowed_domains = ['baidu.com']
# start_urls = ['http://www.baidu.com/'] # 多个分布式爬虫会多次重复请求start_urls中的地址。start_urls中的地址不会去重过滤。
# redis中存放start_urls的键(键名可以任意)
redis_key = "start_urls" # 将start_urls中的地址存放到redis中。
# 开启爬虫时,爬虫会先等待redis中的start_urls存放地址。
# 当redis的start_urls中存放地址后,爬虫才会开始爬取,并同时将地址从start_urls中删除。
# 其他的分布式爬虫会从request队列(调度器)中获取request对象并发送请求。
# 这样start_urls中的地址只会请求一次。
def parse(self, response):
pass
项目名/se