python定時任務框架
⑴ linux下編寫一個shell腳本 每天0點 定時執行某一可執行程序test。 剛學習shell希望大俠們給個代碼參考!
在某個時間段執行某個程序,准確的說是「定時任務」,我這里介紹2中linux(ubuntu)下定時執行python腳本的方式。
方法一:
准備好定時啟動的腳本auto.py
用root許可權編輯以下文件
在文件末尾添加以下命令
以上代碼的意思是每隔兩分鍾執行一次腳本並列印日誌。
crontab編寫解釋
基本格式
舉例說明
方法二:
APScheler定時框架
APScheler是一個Python定時任務框架,使用起來十分方便。提供了基於日期、固定時間間隔以及crontab類型的任務,並且可以持久化任務、並以daemon方式運行應用。
使用APScheler需要安裝
每天早上6點半執行的例子
代碼中的BlockingScheler是什麼呢?
BlockingScheler是APScheler中的調度器,APScheler中有兩種常用的調度器,BlockingScheler和BackgroundScheler,當調度器是應用中唯一要運行的任務時,使用BlockingSchele,如果希望調度器在後台執行,使用BackgroundScheler。
代碼中是cron是什麼?
cron:在特定時間周期性地觸發
⑵ python的爬蟲框架有哪些
實現爬蟲技術的編程環境有很多種,java、Python、C++等都可以用來爬蟲。但很多人選擇Python來寫爬蟲,為什麼呢?因為Python確實很適合做爬蟲,豐富的第三方庫十分強大,簡單幾行代碼便可實現你想要的功能。更重要的,Python也是數據挖掘和分析的好能手。
高效的Python爬蟲框架。分享給大家。
1.Scrapy
Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。。用這個框架可以輕松爬下來如亞馬遜商品信息之類的數據。
2.PySpider
pyspider 是一個用python實現的功能強大的網路爬蟲系統,能在瀏覽器界面上進行腳本的編寫,功能的調度和爬取結果的實時查看,後端使用常用的資料庫進行爬取結果的存儲,還能定時設置任務與任務優先順序等。
3.Crawley
Crawley可以高速爬取對應網站的內容,支持關系和非關系資料庫,數據可以導出為JSON、XML等。
4、Portia:是一個開源可視化爬蟲工具,可讓使用者在不需要任何編程知識的情況下爬取網站!簡單地注釋自己感興趣的頁面,Portia將創建一個蜘蛛來從類似的頁面提取數據。簡單來講,它是基於scrapy內核;可視化爬取內容,不需要任何開發專業知識;動態匹配相同模板的內容。
5.Newspaper
Newspaper可以用來提取新聞、文章和內容分析。使用多線程,支持10多種語言等。
6、Python-goose:Java寫的文章提取工具。Python-goose框架可提取的信息包括:文章主體內容、文章主要圖片、文章中嵌入的任何Youtube/Vimeo視頻、元描述、元標簽。
7.Grab
Grab是一個用於構建Web刮板的Python框架。藉助Grab,您可以構建各種復雜的網頁抓取工具,從簡單的5行腳本到處理數百萬個網頁的復雜非同步網站抓取工具
8、selenium:這是一個調用瀏覽器的driver,通過這個庫你可以直接調用瀏覽器完成某些操作,比如輸入驗證碼。
⑶ python處理大量定時任務用什麼模塊比較好
三種: 則表達式pythonre模塊python自帶; pyquery需另外安裝; beautifulsoup需另外安裝 具體使用於比較復雜獲取兩者操作更便前者效率更高
⑷ Flask-APScheler
APScheler是一款功能非常強大的定時任務框架。利用APScheler框架我們可以很方便實現一個基於Python的定時任務系統。Flask提供了對應的Flask-APScheler來集成APScheler功能。
⑸ 用python寫爬蟲有哪些框架
以下是搜索來源於網路:
1)Scrapy:很強大的爬蟲框架,可以滿足簡單的頁面爬取(比如可以明確獲知url pattern的情況)。用這個框架可以輕松爬下來如亞馬遜商品信息之類的數據。但是對於稍微復雜一點的頁面,如weibo的頁面信息,這個框架就滿足不了需求了。
2)Crawley: 高速爬取對應網站的內容,支持關系和非關系資料庫,數據可以導出為JSON、XML等
3)Portia:可視化爬取網頁內容
4)newspaper:提取新聞、文章以及內容分析
5)python-goose:java寫的文章提取工具
6)Beautiful Soup:名氣大,整合了一些常用爬蟲需求。缺點:不能載入JS。
7)mechanize:優點:可以載入JS。缺點:文檔嚴重缺失。不過通過官方的example以及人肉嘗試的方法,還是勉強能用的。
8)selenium:這是一個調用瀏覽器的driver,通過這個庫你可以直接調用瀏覽器完成某些操作,比如輸入驗證碼。
9)cola:一個分布式爬蟲框架。項目整體設計有點糟,模塊間耦合度較高。
⑹ 如何設置python腳本定時任務
:beginpython hello.pyTIMEOUT /T 10goto begin以上的10為時間單位s可以自定義
⑺ python讀取windows定時任務
1、准備好Python腳本py文件,放置在一個文件夾下。
2、創建一個txt文件,並把文件類型(後綴)改為bat、編寫文件內容。
3、Win鍵+R,輸入compmgmt,msc,調出計算機管理窗口。點擊左側任務計劃程序,再點擊右側創建基本任務。
4、填寫任務的基本信息,選擇腳本執行的觸發器。
5、選擇具體時間,選擇執行的操作、選擇要執行的腳本,創建完成。
⑻ 定時任務
實現定時任務的方法有很多,接下來我們針對各種方法對比下優缺點。
sched模塊實現了一個時間調度程序,該程序可以通過單線程執行來處理按照時間尺度進行調度的時間。
通過調用scheler.enter(delay,priority,func,args)函數,可以將一個任務添加到任務隊列裡面,當指定的時間到了,就會執行任務(func函數)。
執行結果為:
按順序執行任務:
執行結果為:
s.run()會阻塞當前線程的執行
可以用
也可以用s.cancal(action)來取消sched中的某個action
APScheler有四種組件:
示例2、
示例3、
示例4、
運行結果為:
示例5、
運行結果:
示例6、
示例7、
缺點: 遇到問題排查時比較困難。
精講見celery
優點: 基於Redis的作業隊列工具,優先選擇APScheler定時框架。小而精。
缺點: 沒有定時執行的功能。
後續精講持續更新中。。。
可以將所需要的Python程序打包成exe文件,然後在windows下設置定時執行。
常見:
Windows 任務計劃程序
Windows Service
SQL Agent 的 Job
優點: 可以管理和調度多個任務,可以進行控制。
缺點: 阻塞式函數
優點: 不需要程序自己維護定時器,不佔用程序的資源。
缺點: 不太靈活,crontab因為是操作系統的命令,獨立於程序運行,所以也就是在程序還沒有運行的時候,就已經確定了有哪些定時任務需要執行,並東提前交代給了Linux系統,如果程序運行當中,發現有新的定時任務需求,想要讓程序自動交代給crontab一個新的定時任務,並不是很方便。
語法
或
說明
參數說明
⑼ python實現定時任務
缺點:不容易控制,而且是個阻塞函數
優點:可以管理和調度多個任務,可以進行控制
缺點:阻塞式函數
優點:非阻塞
缺點:不易管理多個任務
sched模塊實現了一個時間調度程序,該程序可以通過單線程執行來處理按照時間尺度進行調度的時間。
通過調用 scheler.enter(delay,priority,func,args) 函數,可以將一個任務添加到任務隊列裡面,當指定的時間到了,就會執行任務( func函數 )。
執行結果為:
按順序執行任務:
執行結果為:
s.run()會阻塞當前線程的執行
可以用
也可以用 s.cancal(action) 來取消sched中的某個action
運行結果為:
運行結果為:
運行結果:
celery框架後續更新
⑽ python如何實現線程定時任務
sleep就可以吧,把程序作為一個線程,啟動線程,裡面加個sleep,示例如下:
import threading
import time
class Test(threading.Thread):
def __init__(self):
pass
def test(self):
print 'run test!'
def run(self):
while True:
print time.strftime('%Y-%m-%d %H:%M:%S')
self.test()
time.sleep(5)
#test...
a=Test()
a.run()
#...test