【動圖演示】笑瞇瞇地教你如何將 Scrapy 項目及爬蟲打包部署到服務器
通過 Scrapyd-client 打包并部署爬蟲

當爬蟲代碼編寫完畢后,你可以選擇直接運行啟動文件來啟動爬蟲,也可以將爬蟲部署到 Scrapyd 后,通過 Scrapyd 的 API 來啟動爬蟲。
那么如何將爬蟲項目打包并部署到 Scrapyd 呢?
筆者 將通過兩個具體的部署例子(部署到本地以及部署到云服務器)以熟悉 Scrapy 爬蟲項目打包、Scrapyd-client 的安裝、使用以及爬蟲項目部署過程。
爬蟲項目打包
Scrapyd 打包部署的整個流程為:
打包前期
當你使用 Scrapy 框架編寫完爬蟲代碼之后,你需要將項目進行打包,才能夠將其部署到 Scrapyd 上。官方文檔對項目的打包有介紹:
Scrapy 項目需要使用 Scrapyd-client 工具進行打包。
Scrapyd-client
它是 Scrapy 項目打包專用的客戶端工具,同樣是由 Scrapy 開發團隊開發。使用 Scrapyd-client 將項目打包生成 .egg 文件。
與 Scrapyd 一樣,它也可以通過 pip 進行安裝:
配置文件分為 Settings 級和 Deploy 級。Settings 中指定了項目所用的配置文件,而 Deploy 中指定項目打包的設置。
URL - 指定部署的目標地址
Project - 指定打包的項目
Deploy - 指定項目別名
將項目打包并部署到指定的目標服務上,Scrapyd 服務會將請求結果以 json 格式返回:
返回信息中包含了此次打包的版本號、目標服務地址、nodeName、項目狀態、項目名稱以及其中所包含的爬蟲數量。并且在 Web 界面上也可以看到項目 arts 的名稱,如下圖所示:
思考題
scrapy.cfg 文件中 Deploy 級設置里,Deploy 的名稱是必須設置的嗎?如果不設置會怎么樣?可以有多個 Deploy 級配置嗎?
我們可以通過動手實驗,來驗證這些問題。
若 Deploy 不設置名稱
可以看到,Deploy 級配置不設置名稱的話,在命令行中也無需使用名稱,同樣可以完成項目的打包。
若多個 Deploy 配置
可以看到,多個 Deploy 級別的配置是允許的,并且我們可以使用 Deploy 的名稱來區分它們。
小結
通過 Scrapy 項目的部署案例,我們學會了 Scrapyd-client 的安裝、使用以及打包前.cfg配置文件的相關配置,并且成功的將一個 Scrapy 項目打包部署到目標服務器上。
還沒看夠?
動圖教學是不是感覺比較容易理解,也比較新奇?
還有更多的爬蟲部署知識以及 Scrapyd 改造知識在等你,點擊這里查看掘金小冊,我們一起來做一個帶有訪問權限控制的爬蟲部署控制臺吧!
就像這個一樣:
本文轉載自異步社區。
HTTP Scrapy
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。