[Python3 網絡爬蟲開發實戰] 1.9.2-Scrapyd 的安裝

      網友投稿 636 2025-03-31

      Scrapyd 是一個用于部署和運行 Scrapy 項目的工具,有了它,你可以將寫好的 Scrapy 項目上傳到云主機并通過 API 來控制它的運行。

      既然是 Scrapy 項目部署,基本上都使用 Linux 主機,所以本節的安裝是針對于 Linux 主機的。

      1. 相關鏈接

      GitHub:https://github.com/scrapy/scrapyd

      PyPI:https://pypi.python.org/pypi/scrapyd

      官方文檔:https://scrapyd.readthedocs.io

      2. pip 安裝

      這里推薦使用 pip 安裝,命令如下:

      1

      pip3 install scrapyd

      3. 配置

      安裝完畢之后,需要新建一個配置文件 /etc/scrapyd/scrapyd.conf,Scrapyd 在運行的時候會讀取此配置文件。

      在 Scrapyd 1.2 版本之后,不會自動創建該文件,需要我們自行添加。

      首先,執行如下命令新建文件:

      1

      2

      sudo mkdir /etc/scrapyd

      sudo vi /etc/scrapyd/scrapyd.conf

      接著寫入如下內容:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      [scrapyd]

      eggs_dir = eggs

      logs_dir = logs

      items_dir =

      jobs_to_keep = 5

      dbs_dir = dbs

      max_proc = 0

      max_proc_per_cpu = 10

      finished_to_keep = 100

      poll_interval = 5.0

      bind_address = 0.0.0.0

      http_port = 6800

      debug = off

      runner = scrapyd.runner

      application = scrapyd.app.application

      launcher = scrapyd.launcher.Launcher

      webroot = scrapyd.website.Root

      [services]

      schedule.json = scrapyd.webservice.Schedule

      cancel.json = scrapyd.webservice.Cancel

      addversion.json = scrapyd.webservice.AddVersion

      listprojects.json = scrapyd.webservice.ListProjects

      listversions.json = scrapyd.webservice.ListVersions

      listspiders.json = scrapyd.webservice.ListSpiders

      delproject.json = scrapyd.webservice.DeleteProject

      delversion.json = scrapyd.webservice.DeleteVersion

      listjobs.json = scrapyd.webservice.ListJobs

      daemonstatus.json = scrapyd.webservice.DaemonStatus

      配置文件的內容可以參見官方文檔 https://scrapyd.readthedocs.io/en/stable/config.html#example-configuration-file。這里的配置文件有所修改,其中之一是 max_proc_per_cpu 官方默認為 4,即一臺主機每個 CPU 最多運行 4 個 Scrapy 任務,在此提高為 10。另外一個是 bind_address,默認為本地 127.0.0.1,在此修改為 0.0.0.0,以使外網可以訪問。

      [Python3 網絡爬蟲開發實戰] 1.9.2-Scrapyd 的安裝

      4. 后臺運行

      Scrapyd 是一個純 Python 項目,這里可以直接調用它來運行。為了使程序一直在后臺運行,Linux 和 Mac 可以使用如下命令:

      1

      (scrapyd > /dev/null &)

      這樣 Scrapyd 就會在后臺持續運行了,控制臺輸出直接忽略。當然,如果想記錄輸出日志,可以修改輸出目標,如:

      1

      (scrapyd > ~/scrapyd.log &)

      此時會將 Scrapyd 的運行結果輸出到~/scrapyd.log 文件中。

      當然也可以使用 screen、tmux、supervisor 等工具來實現進程守護。

      運行之后,便可以在瀏覽器的 6800 端口訪問 Web UI 了,從中可以看到當前 Scrapyd 的運行任務、日志等內容,如圖 1-85 所示。

      圖 1-85 Scrapyd 首頁

      當然,運行 Scrapyd 更佳的方式是使用 Supervisor 守護進程,如果感興趣,可以參考:http://supervisord.org/。

      另外,Scrapyd 也支持 Docker,后面我們會介紹 Scrapyd Docker 鏡像的制作和運行方法。

      5. 訪問認證

      配置完成后,Scrapyd 和它的接口都是可以公開訪問的。如果想配置訪問認證的話,可以借助于 Nginx 做反向代理,這里需要先安裝 Nginx 服務器。

      在此以 Ubuntu 為例進行說明,安裝命令如下:

      1

      sudo apt-get install nginx

      然后修改 Nginx 的配置文件 nginx.conf,增加如下配置:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      http {

      server {

      listen 6801;

      location / {

      proxy_pass http://127.0.0.1:6800/;

      auth_basic "Restricted";

      auth_basic_user_file /etc/nginx/conf.d/.htpasswd;

      }

      }

      }

      這里使用的用戶名和密碼配置放置在 /etc/nginx/conf.d 目錄下,我們需要使用 htpasswd 命令創建。例如,創建一個用戶名為 admin 的文件,命令如下:

      1

      htpasswd -c .htpasswd admin

      接著就會提示我們輸入密碼,輸入兩次之后,就會生成密碼文件。此時查看這個文件的內容:

      1

      2

      cat .htpasswd

      admin:5ZBxQr0rCqwbc

      配置完成后,重啟一下 Nginx 服務,運行如下命令:

      1

      sudo nginx -s reload

      這樣就成功配置了 Scrapyd 的訪問認證了。

      Python 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps表格怎么快速鎖定單元格(wps怎樣鎖定表格)
      下一篇:表格里的人太多怎么搜索名字(怎么在表格里查找多個人名)
      相關文章
      国产亚洲一区二区手机在线观看| 亚洲最大av无码网址| 亚洲中文字幕无码专区| 色欲aⅴ亚洲情无码AV| 亚洲熟妇自偷自拍另欧美| 亚洲最大成人网色香蕉| 亚洲白色白色永久观看| 久久久久亚洲精品无码蜜桃| 亚洲一区免费观看| 亚洲尹人香蕉网在线视颅| 亚洲精品少妇30p| 国产成A人亚洲精V品无码| 亚洲s色大片在线观看| 亚洲s色大片在线观看| 亚洲精品人成在线观看| 亚洲人成依人成综合网| 亚洲视频在线免费播放| 久久久久亚洲av无码专区导航| 亚洲色图古典武侠| 亚洲人成在线中文字幕| 33333在线亚洲| 亚洲精华国产精华精华液好用 | 18禁亚洲深夜福利人口| 亚洲精品中文字幕无码A片老| 亚洲中文字幕日产乱码高清app| ZZIJZZIJ亚洲日本少妇JIZJIZ| 国产a v无码专区亚洲av| 精品亚洲一区二区三区在线观看 | 亚洲综合伊人久久大杳蕉| 亚洲精品和日本精品| 国产性爱在线观看亚洲黄色一级片| 三上悠亚亚洲一区高清| 国产亚洲婷婷香蕉久久精品 | 亚洲AV网一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久精品国产亚洲av麻豆| 久久久久久久亚洲Av无码| 亚洲国产成人手机在线电影bd| 亚洲成a人片在线观看精品| 亚洲人成日本在线观看| 亚洲日本VA午夜在线电影|