scrapy 的暂停和重启, 下载卡住 如何设置超时?

本文介绍如何在Scrapy爬虫运行过程中进行暂停及从断点处继续爬取的方法,包括使用特定命令启动爬虫并指定进程保存目录,以及通过设置下载超时来解决下载卡住的问题。

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

https://blog.youkuaiyun.com/weixin_42260204/article/details/81083737

scrapy的爬虫在运行时,需要暂时停止运行,并在下一次从暂停的地方继续爬取的方法:

1.打开cmd进入虚拟环境,cd到scrapy的main.py目录下;

2.在cmd下输入以下命令

scrapy crawl 爬虫名称 -s JOBDIR=保存进程的文件夹目录
比如我要运行的spider的name为zhihu,文件夹目录是scrapy目录下的job_info/001(001表示这是一次爬取任务,重新新建任务需要重新建立目录,比如002),我需要运行的指令为:

scrapy crawl jobbole -s JOBDIR=job_info/001
3.运行过程中按下Ctrl+c暂停任务,等待处理完未完成的进程(按下两次Ctrl+c为强制结束进程);

4.结束后显示:

[scrapy.core.engine] INFO: Spider closed (shutdown)
5.下次需要重启的时候,输入与第二步相同的命令。
 

scrapy 下载卡住 如何设置超时?

settings 里自带参数,比如:

DOWNLOAD_TIMEOUT = 300

如果觉得不能满足要求就写个继承 DownloadTimeoutMiddleware 的类就好

https://doc.scrapy.org/en/1.4/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.downloadtimeout

顺带蛋疼的话还可以利用下面这个类获取状态写进度条
class scrapy.downloadermiddlewares.stats.DownloaderStats

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值