Ubuntu下實現scrapy定時爬取

基本需求

我製作的爬蟲需求是一小時執行一次,爬蟲要放在服務器上,服務器是ubuntu64位系統

具體步驟

1.啓動cron服務

在Ubuntu下cron服務是默認啓動的,如果沒有啓動,請自行百度搜索如何啓動,我的是啓動的~。

2.開啓cron日誌系統

1.修改rsyslog文件 vim /etc/rsyslog.d/50-default.conf
將 cron.*前面的 #去掉,解除註釋
在這裏插入圖片描述
2.重啓rsyslog服務service rsyslog restart
3.重啓cron服務service cron restart

3.編寫腳本執行scrapy命令

我的腳本是放在/home/shScripts/目錄下的
新建一個腳本,我的叫scrapy.sh,鍵入代碼
注意,坑來了。
你的crontab執行命令時的環境和你主機並不是同一環境。所以這樣執行會出問題,會找不到scrapy命令,所以你要使用絕對路徑來執行scrapy
看看你的scrapy命令在哪。
在這裏插入圖片描述
找到你的scrapy之後再重新寫入腳本

export PATH=$PATH:/usr/local/bin

echo$PATH
cd /home/COVID_19/
/root/anaconda3/bin/scrapy crawl covid19 >> covid19.log 2>&1 &

在這裏插入圖片描述

4.使用crontab創建定時任務

在這裏插入圖片描述
其實會出現一個讓你選擇一個編輯器來編輯命令的選項畫面,因爲我的選擇過,所以沒有了,附上一張從別人博客拷貝過來的圖
在這裏插入圖片描述
按數字選擇你的編輯器即可
在這裏插入圖片描述
添加一條腳本的執行命令

0 * * * * sh /home/shScrpits/scrapy.sh

關於crontab的定時格式,網上整理的亂七八糟。其他的我也不太清楚,建議各位再搜一搜,反正我這個0 * * * * 是代表一小時執行一次。

編輯完成之後保存,大功告成。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章