celery實現簡單的定時爬蟲

2021-10-23 13:06:44 字數 2280 閱讀 7370

# く__,.ヘヽ.        /  ,ー、 〉

# \ ', !-─‐-i / /´

# /`ー' l//`ヽ、

# / /, /| , , ',

# イ / /-‐/ i l_ ハ ヽ! i

# レ ヘ 7イ`ト レ'ァ-ト、!ハ| |

# !,/7 '0' ´0iソ| |

# |.從" _ ,,,, / |./ |

# レ'| i>.、,,__ _,.イ / .i |

# レ'| | / k_7_/レ'ヽ, ハ. |

# | |/i 〈|/ i ,.ヘ | i |

# .|/ / i: ヘ! \ |

# kヽ>、ハ _,.ヘ、 /、!

# !'〈//`t´', \ `'7'ーr'

# レ'ヽl__|___i,___,ンレ|ノ

# ト-,/ |___./

# 'ー' !_,.:

import requests

from celery import celery

from celery.schedules import crontab

headers =

uri = 'redis:'

uri1 = 'redis:'

def task2(page=1, a='init', node='sh_a'):

url = ''

para =

res = requests.get(url, headers=headers, params=para)

data = res.json()

return data

'send_everyday_pm_3:30':

}

然後再建立乙個模組用於從資料庫查出資料demo2.py

# く__,.ヘヽ.        /  ,ー、 〉

# \ ', !-─‐-i / /´

# /`ー' l//`ヽ、

# / /, /| , , ',

# イ / /-‐/ i l_ ハ ヽ! i

# レ ヘ 7イ`ト レ'ァ-ト、!ハ| |

# !,/7 '0' ´0iソ| |

# |.從" _ ,,,, / |./ |

# レ'| i>.、,,__ _,.イ / .i |

# レ'| | / k_7_/レ'ヽ, ハ. |

# | |/i 〈|/ i ,.ヘ | i |

# .|/ / i: ヘ! \ |

# kヽ>、ハ _,.ヘ、 /、!

# !'〈//`t´', \ `'7'ーr'

# レ'ヽl__|___i,___,ンレ|ノ

# ト-,/ |___./

# 'ー' !_,.:

import json

from redis import strictredis

r = strictredis('127.0.0.1', 6379, db=3, password='')

data = r.keys()[0]

data = r.get(data)

print(json.loads(data))

模組寫好了以後讓celery開始等待任務,開啟控制台,確定在demo1所在的目錄,然後在控制台執行celery -a demo1 worker -l info -p eventlet,接著再開啟乙個控制台確定在demo1所在的目錄,執行celery -a demo1 beat,這樣到達時間就會進行爬取資料。在此之前請先安裝程式中用到的包。

使用Celery實現定時任務功能

python實現定時任務的方式有很多,如使用celery schedule模組 threading模組中的timer sched模組 定時框架apscheduler,都各有特色。在多次對比之後,我決定使用celery,下面我們介紹一下如何使用celery。首先安裝celery pip install...

celery的簡單應用

celery 芹菜 是乙個靈活可靠,處理大量資訊的分布式系統,主要有三部分構成 訊息中介軟體 任務執行單元 work 和任務執行結果儲存 task result store 組成。celery 核心模組 celery有一下5個核心角色 task 就是任務,有非同步任務和定時任務 broker 中間人...

Python實現簡單的爬蟲

import urllib import re defgethtml url page urllib.urlopen url html page.read return htmlimport re import urllib defgethtml url page urllib.urlopen ur...