1、安装ScrapyRedis库
确保你已经安装了Scrapy和Redis,使用pip命令安装ScrapyRedis库:
“`
pip install scrapyredis
“`
2、创建Scrapy项目
在命令行中输入以下命令创建一个Scrapy项目:
“`
scrapy startproject myproject
“`
3、配置settings.py文件
打开myproject/settings.py
文件,将以下内容添加到文件中:
“`python
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
REDIS_HOST = ‘localhost’ # Redis服务器地址
REDIS_PORT = 6379 # Redis服务器端口号
“`
4、创建Spider类
在myproject/spiders
目录下创建一个名为myspider.py
的文件,并添加以下代码:
“`python
import scrapy
from scrapy_redis.spiders import RedisSpider
class MySpider(RedisSpider):
name = ‘myspider’
redis_key = ‘myspider:start_urls’
# 指定要爬取的起始URL列表,可以是一个或多个URL
start_urls = [‘http://example.com’]
# 指定要爬取的域名列表,只有这些域名的URL才会被爬取
# allowed_domains = [‘example.com’]
# 指定要跟踪的链接关系,可以是正则表达式、XPath表达式等
# follow = True
# rules = (Rule(LinkExtractor(), callback=’parse_item’, follow=True),)
# 其他设置…
“`
5、运行爬虫
在命令行中输入以下命令运行爬虫:
“`
scrapy crawl myspider o output.json t json
“`
o output.json
表示将结果保存到output.json
文件中,t json
表示以JSON格式输出结果,你可以根据需要修改输出文件名和格式。
相关问题与解答:
1、Q: ScrapyRedis支持哪些调度器?
A: ScrapyRedis支持Scrapy自带的调度器(默认)以及其他第三方调度器,如ScrapySpread等,在settings.py
文件中可以通过设置SCHEDULER
变量来选择使用的调度器,使用Scrapy自带的调度器可以设置为SCHEDULER = "scrapy.core.scheduler.Scheduler"
。
2、Q: ScrapyRedis支持哪些去重过滤器?
A: ScrapyRedis支持多种去重过滤器,包括随机哈希(RFPDupeFilter)、持久化队列(PersistentDupeFilter)等,在settings.py
文件中可以通过设置DUPEFILTER_CLASS
变量来选择使用的去重过滤器,使用随机哈希去重过滤器可以设置为DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/639004.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复