celery在python爬蟲中定時操作實例講解
使用定時功能對于我們想要快速獲取某個數(shù)據(jù)來說,是一個非常好的方法。這樣我們就不用苦苦守在電腦屏幕前,只為蹲到某個想要的東西。在之前我們已經(jīng)講過time函數(shù)進行定時操作,這算是time函數(shù)的比較基礎(chǔ)的一個用法了。其實定時功能同樣可以用celery實現(xiàn),具體的方法我們往下看:
爬蟲由于其特殊性,可能需要定時做增量抓取,也可能需要定時做模擬登陸,以防止cookie過期,而celery恰恰就實現(xiàn)了定時任務(wù)的功能。在上述基礎(chǔ)上,我們將`tasks.py`文件改成如下內(nèi)容
from celery import Celery
app = Celery('add_tasks', broker='redis:''//223.129.0.190:6379/2', backend='redis:''//223.129.0.190:6379/3')
app.conf.update(
# 配置所在時區(qū)
CELERY_TIMEZONE='Asia/Shanghai',
CELERY_ENABLE_UTC=True,
# 官網(wǎng)推薦消息序列化方式為json
CELERY_ACCEPT_CONTENT=['json'],
CELERY_TASK_SERIALIZER='json',
CELERY_RESULT_SERIALIZER='json',
# 配置定時任務(wù)
CELERYBEAT_SCHEDULE={
'my_task': {
'task': 'tasks.add', # tasks.py模塊下的add方法
'schedule': 60, # 每隔60運行一次
'args': (23, 12),
}
}
)
@app.task
def add(x, y):
return x + y
然后先通過`ctrl+c`停掉前一個worker,因為我們代碼改了,需要重啟worker才會生效。我們再次以`celery -A tasks worker -l info`這個命令開啟worker。
這個時候我們只是開啟了worker,如果要讓worker執(zhí)行任務(wù),那么還需要通過beat給它定時發(fā)送,我們再開一個命令行,切換到項目根目錄,通過
celery beat -A tasks -l info celery beat v3.1.25 (Cipater) is starting. __ - ... __ - _ Configuration -> . broker -> redis://223.129.0.190:6379/2 . loader -> celery.loaders.app.AppLoader . scheduler -> celery.beat.PersistentScheduler . db -> celerybeat-schedule . logfile -> [stderr]@%INFO . maxinterval -> now (0s) [2017-05-19 15:56:57,125: INFO/MainProcess] beat: Starting...
這樣就表示定時任務(wù)已經(jīng)開始運行了。
到此這篇關(guān)于celery在python爬蟲中定時操作實例講解的文章就介紹到這了,更多相關(guān)celery如何在python爬蟲中進行定時操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
全面解析python當(dāng)前路徑和導(dǎo)包路徑問題
這篇文章主要為大家介紹了python當(dāng)前路徑和導(dǎo)包路徑問題的全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
Selenium webdriver添加cookie實現(xiàn)過程詳解
這篇文章主要介紹了Selenium webdriver添加cookie實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
python實現(xiàn)的登陸Discuz!論壇通用代碼分享
這篇文章主要介紹了python實現(xiàn)的登陸Discuz!論壇通用代碼分享,需要的朋友可以參考下2014-07-07
VSCode安裝Django插件后實現(xiàn)html語法提示的方法步驟
Vscode是微軟推出的一款優(yōu)秀的ide開發(fā)工具,界面簡潔美觀、默認(rèn)支持中文,擁有豐富的插件,支持Windows,OS X和Linux,下面這篇文章主要給大家介紹了關(guān)于VSCode安裝Django插件后實現(xiàn)html語法提示的方法步驟,需要的朋友可以參考下2022-08-08

