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

https://blog.csdn.net/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

猜你喜欢

转载自blog.csdn.net/NRlovestudy/article/details/88306017