日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Day 22 22.2:scrapy部署

發布時間:2023/10/11 综合教程 125 老码农
生活随笔 收集整理的這篇文章主要介紹了 Day 22 22.2:scrapy部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

scrapy項目部署

scrapyd部署工具介紹

  • scrapyd是一個用于部署和運行scrapy爬蟲的程序,它由 scrapy 官方提供的。它允許你通過JSON API來部署爬蟲項目和控制爬蟲運行

所謂json api本質就是post請求的webapi

  • 選擇一臺主機當做服務器,安裝并啟動 scrapyd 服務。再這之后,scrapyd 會以守護進程的方式存在系統中,監聽爬蟲地運行與請求,然后啟動進程來執行爬蟲程序。

環境安裝

  • scrapyd服務:

? pip install scrapyd

  • scrapyd客戶端:

? pip install scrapyd-client

? 一定要安裝較新的版本10以上的版本,如果是現在安裝的一般都是新版本

啟動scrapyd服務

  • 打開終端在scrapy項目路徑下 啟動scrapyd的命令: scrapyd

  • scrapyd 也提供了 web 的接口。方便我們查看和管理爬蟲程序。默認情況下 scrapyd 監聽 6800 端口,運行 scrapyd 后。在本機上使用瀏覽器訪問 http://localhost:6800/地址即可查看到當前可以運行的項目。

  • 點擊job可以查看任務監控界面

scrapy項目部署

配置需要部署的項目
  • 編輯需要部署的項目的scrapy.cfg文件(需要將哪一個爬蟲部署到scrapyd中,就配置該項目的該文件)

[deploy:部署名(部署名可以自行定義)]
url = http://localhost:6800/
project = 項目名(創建爬蟲項目時使用的名稱) username = dream # 如果不需要用戶名可以不寫
password = 123456 # 如果不需要密碼可以不寫
部署項目到scrapyd
  • 同樣在scrapy項目路徑下執行如下指令:

    #pycharm
    scrapyd-deploy 部署名(配置文件中設置的名稱) -p 項目名稱
  • 部署成功之后就可以看到部署的項目

  • 使用以下命令檢查部署爬蟲結果:

    • #pycharm
      scrapyd-deploy -L 部署名

管理scrapy項目

指令管理
  • 安裝curl命令行工具

    • window需要安裝
    • linux和mac無需單獨安裝
  • window安裝步驟:

  • 啟動項目:

    curl http://localhost:6800/schedule.json -d project=項目名 -d spider=爬蟲名
    • 返回結果:注意期中的jobid,在關閉項目時候會用到

      • {"status": "ok", "jobid": "94bd8ce041fd11e6af1a000c2969bafd", "node_name": "james-virtual-machine"}
  • 關閉項目:

    • curl http://localhost:6800/cancel.json -d project=項目名 -d job=項目的jobid
  • 刪除爬蟲項目:

    • curl http://localhost:6800/delproject.json -d project=爬蟲項目名稱
requests模塊控制scrapy項目
import requests

# 啟動爬蟲
url = 'http://localhost:6800/schedule.json'
data = {
'project': 項目名,
'spider': 爬蟲名,
}
resp = requests.post(url, data=data) # 停止爬蟲
url = 'http://localhost:6800/cancel.json'
data = {
'project': 項目名,
'job': 啟動爬蟲時返回的jobid,
}
resp = requests.post(url, data=data)

總結

以上是生活随笔為你收集整理的Day 22 22.2:scrapy部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。