scrapy 爬取数据时踩到的几个坑

本文介绍了在使用Scrapy爬取数据时遇到的两个问题:1. 配置文件设置的注意事项,避免在持久化操作中影响脚本运行;2. 使用定时任务时,为防止错误需在多进程中运行。通过正确放置设置和利用定时工具,确保爬虫的稳定执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、将配置放在settings.py 中时,注意该脚本中配置会被使用pickle 进行持久化操作,因此,如使用redis,不要在此处进行如

rdb = redis.Redis(db=0) 此类操作,可以放到执行脚本中

2、使用CrawlerProcess 进行替代scrapy crawl CrawlerName 时,如果需要多次执行(例如下文中用到的定时多次执行),需要将其置入多进程中,否则会报错,具体原因还不清楚,看来还需要好好研究下scrapy

为了保证setting生效,需要将setting置入

# 官方即将舍去该方式
# from scrapy.conf import setting
from scrapy.utils.project import get_project_settings
settings = get_project_settings()

process = CrawlerProcess(settings)

可以这样:



def start_crawl():
	process 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值