scrapy的每一個爬蟲,暫停時可以記錄暫停狀態以及爬取了哪些url,重啟時可以從暫停狀態開始爬取過的URL不在爬取
實現暫停與重啟記錄狀態
方法一:
1、首先cd進入到scrapy項目里(當然你也可以通過編寫腳本Python文件直接在pycharm中運行) 2、在scrapy項目里創建保存記錄信息的文件夾 3、執行命令: scrapy crawl 爬蟲名稱 -s JOBDIR=保存記錄信息的路徑 如:scrapy crawl cnblogs -s JOBDIR=zant/001 執行命令會啟動指定爬蟲,並且記錄狀態到指定目錄 爬蟲已經啟動,我們可以按鍵盤上的ctrl+c停止爬蟲,停止后我們看一下記錄文件夾,會多出3個文件,其中的requests.queue文件夾里的p0文件就是URL記錄文件,這個文件存在就說明還有未完成的URL,當所有URL完成后會自動刪除此文件 當我們重新執行命令:scrapy crawl cnblogs -s JOBDIR=zant/001 時爬蟲會根據p0文件從停止的地方開始繼續爬取。
方法二:
在settings.py文件里加入下面的代碼:
JOBDIR='sharejs.com'
使用命令scrapy crawl 爬蟲名,就會自動生成一個sharejs.com的目錄,然后將工作列表放到這個文件夾里