以下是 scrapyd 提供的 json api.
實現了對scrapy 專案管理
# 伺服器查詢
daemonstatus.json 伺服器狀態
# 專案操作
addversion.json 新增專案版本(乙個專案下可以有多個版本)
listprojects.json 專案列表
listversions.json 專案版本列表
delproject.json 刪除專案
delversion.json 刪除專案版本
# 爬蟲操作
listspiders.json 專案中爬蟲列表
schedule.json 排程執行爬蟲
listjobs.json 任務列表
cancel.json 取消爬蟲
檢查伺服器載入狀態
請求方式: get
請求示例:
curl http://localhost:6800/daemonstatus.json
應答示例:
給專案新增乙個版本,如果不存在則建立
請求方式: post
引數:project (string, 必須) - 專案名稱
version (string, 必須) - 專案版本
egg (file, 必須) - 乙個包含專案**的 python egg 檔案
請求示例:
$ curl http://localhost:6800/addversion.json -f project=myproject -f version=r23 -f [email protected]
應答示例:
scrapyd 使用 distutils looseversion 去解釋你提供的版本號,預設使用最新的專案版本schedule.json 和 listspiders.json 允許你設定具體的專案版本.
排程執行乙個爬蟲,返回任務id
請求方式: post
引數:project (string, 必須) - 專案名稱
spider (string, 必須) - 爬蟲名稱
setting (string, 可選) - scrapy爬蟲執行的配置
jobid (string, 可選) - 識別任務的id, 重寫預設生成的 uuid
_version (string, 可選) - 指定專案使用的版本號
任何其他的引數都將作為爬蟲引數
請求示例:
$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider
應答示例:
請求示例 傳遞乙個爬蟲引數 (arg1) 和乙個爬蟲配置引數 (download_delay):
$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=download_delay=2 -d arg1=val1
scrapyd 排程器接收任意數量關鍵字引數,並且生成爬蟲執行的引數版本 >= 0.15.
取消爬蟲執行, 如果正在等待(pending)就移除,如果正在執行(running)就終止
請求方式: post
引數:project (string, 必須) - 專案名稱
job (string, 必須) - 任務id
請求示例:
$ curl http://localhost:6800/cancel.json -d project=myproject -d job=6487ec79947edab326d6db28a2d86511e8247444
應答示例:
獲取scrapy 伺服器所上傳的專案列表
請求方式: get
引數: none
請求示例:
$ curl http://localhost:6800/listprojects.json
應答示例:
獲取專案的可用版本號. 按照順序返回版本號, 最後乙個就是當前使用的版本
請求方式: get
引數:project (string, 必須) - 專案名稱
請求示例:
$ curl http://localhost:6800/listversions.json?project=myproject
應答示例:
獲取專案中爬蟲列表
請求方式: get
引數:project (string, 必須) - 專案名稱
_version (string, 可選) - 指定專案版本
請求示例:
$ curl http://localhost:6800/listspiders.json?project=myproject
應答示例:
版本 >= 0.15.
獲取專案任務列表,包括:等待(pending)執行(running)和完成(finished)
請求方式: get
引數:project (string, 必須) - 專案名稱
請求示例:
應答示例:
],
"running":[
],"finished":[
]}
所有的任務資料都儲存在記憶體中,scrapyd服務重啟之後被重置 issue 12刪除專案版本,如果乙個專案名沒有其他可用版本,那麼這個專案也會被刪除
請求方式: post
引數:project (string, 必須) - 專案名稱
version (string, 必須) - 專案版本
請求示例:
$ curl http://localhost:6800/delversion.json -d project=myproject -d version=r99
應答示例:
刪除乙個專案,包括上傳的所有版本
請求方式: post
引數:project (string, 必須) - 專案名稱
請求示例:
$ curl http://localhost:6800/delproject.json -d project=myproject
應答示例:
Google BigTable 中文翻譯
題記 google 的成功除了乙個個出色的創意外,還因為有 jeff dean 這樣的軟體架構天才。歡迎訂閱作者微博 編者 官方的 google reader blog 中有對bigtable 的解釋。這是google 內部開發的乙個用來處理大資料量的系統。這種系統適合處理半結構化的資料比如 rss...
Learning OpenCV 中文翻譯工作開始啦
我是一名計算機專業的碩士研究生,從事這方面的研究工作已經有兩年多了,程式設計中大量使用到opencv,經常遇到很多問題,都是google,baidu,拼命地搜,後來發現learning opencv這本書,感覺很不錯,在解決具體細節問題的時候也許並不是非常方便,但我認為想要系統學習opencv,更有...
Data Lab 文件中文翻譯
檔案 說明makefile 編譯 btest,fshow,與 ishow readme 此說明文件 bits.c 你將修改與提交的檔案 bits.h 標頭檔案 btest.c btest 主程式 btest.h 用於搭建 btest decl.c 用於搭建 btest tests.c 用於搭建 bt...