您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python3爬蟲利器中Scrapyd的安裝方法是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Scrapyd是一個用于部署和運行Scrapy項目的工具,有了它,你可以將寫好的Scrapy項目上傳到云主機并通過API來控制它的運行。
既然是Scrapy項目部署,基本上都使用Linux主機,所以本節(jié)的安裝是針對于Linux主機的。
1. 相關(guān)鏈接
GitHub:https://github.com/scrapy/scrapyd
PyPI:https://pypi.python.org/pypi/scrapyd
官方文檔:https://scrapyd.readthedocs.io
2. pip安裝
這里推薦使用pip安裝,命令如下:
pip3 install scrapyd
3. 配置
安裝完畢之后,需要新建一個配置文件/etc/scrapyd/scrapyd.conf,Scrapyd在運行的時候會讀取此配置文件。
在Scrapyd 1.2版本之后,不會自動創(chuàng)建該文件,需要我們自行添加。
首先,執(zhí)行如下命令新建文件:
sudo mkdir /etc/scrapyd sudo vi /etc/scrapyd/scrapyd.conf
接著寫入如下內(nèi)容:
[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
配置文件的內(nèi)容可以參見官方文檔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,以使外網(wǎng)可以訪問。
4. 后臺運行
Scrapyd是一個純Python項目,這里可以直接調(diào)用它來運行。為了使程序一直在后臺運行,Linux和Mac可以使用如下命令:
(scrapyd > /dev/null &)
這樣Scrapyd就會在后臺持續(xù)運行了,控制臺輸出直接忽略。當然,如果想記錄輸出日志,可以修改輸出目標,如:
(scrapyd > ~/scrapyd.log &)
此時會將Scrapyd的運行結(jié)果輸出到~/scrapyd.log文件中。
當然也可以使用screen、tmux、supervisor等工具來實現(xiàn)進程守護。
運行之后,便可以在瀏覽器的6800端口訪問Web UI了,從中可以看到當前Scrapyd的運行任務、日志等內(nèi)容,如圖1-85所示。
圖1-85 Scrapyd首頁
當然,運行Scrapyd更佳的方式是使用Supervisor守護進程,如果感興趣,可以參考:http://supervisord.org/。
另外,Scrapyd也支持Docker,后面我們會介紹Scrapyd Docker鏡像的制作和運行方法。
5. 訪問認證
配置完成后,Scrapyd和它的接口都是可以公開訪問的。如果想配置訪問認證的話,可以借助于Nginx做反向代理,這里需要先安裝Nginx服務器。
在此以Ubuntu為例進行說明,安裝命令如下:
sudo apt-get install nginx
然后修改Nginx的配置文件nginx.conf,增加如下配置:
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命令創(chuàng)建。例如,創(chuàng)建一個用戶名為admin的文件,命令如下:
htpasswd -c .htpasswd admin
接著就會提示我們輸入密碼,輸入兩次之后,就會生成密碼文件。此時查看這個文件的內(nèi)容:
cat .htpasswd admin:5ZBxQr0rCqwbc
配置完成后,重啟一下Nginx服務,運行如下命令:
sudo nginx -s reload
這樣就成功配置了Scrapyd的訪問認證了。
感謝你能夠認真閱讀完這篇文章,希望小編分享Python3爬蟲利器中Scrapyd的安裝方法是什么內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。