Scrapydベースの爬虫類の配置
システムはUbuntu 16.04 TLSです.
1. Installtion
scrapy-clientのscrapy-deployを使用してscrapyプロジェクトをscrapyd serverに配備します.
2. Usage
a.scrapy.cfgの構成
b.scrapydの構成
プロファイルはscrapyドキュメントを参照して構成できます.ロード順は、
c.scrapydを起動する
d.発行
e.爬虫類の任務を遂行する
プロジェクト=njuptのspiderはscrapyd-client spiders-p njuptで表示できます.
3. Security
scrapydの前に逆エージェントを追加して、ユーザー認証を実現できます.
4. API
公式ドキュメントAPIを参照.
1. Installtion
scrapy-clientのscrapy-deployを使用してscrapyプロジェクトをscrapyd serverに配備します.
# scrapyd
pip install scrapyd
# scrapy-client
# for python2.x
pip install git+https://github.com/scrapy/scrapyd-client
# for python3.6
pip install scrapy-client
2. Usage
a.scrapy.cfgの構成
[settings]
default = njupt.settings
[deploy:server-njupt]
url = http://localhost:6800/
project = njupt
b.scrapydの構成
プロファイルはscrapyドキュメントを参照して構成できます.ロード順は、
/etc/scrapyd/scrapyd.conf
/etc/scrapyd/conf.d/*
scrapyd.conf
~/.scrapyd.conf
example: [scrapyd]
eggs_dir = eggs
logs_dir = logs
items_dir =
jobs_to_keep = 5
dbs_dir = dbs
max_proc = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5.0
bind_address = 127.0.0.1
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
c.scrapydを起動する
scrapyd
d.発行
# scrapy project
scrapyd-deploy server-njupt -p njupt
# ,
scrapyd-deploy server-njupt -p njupt --version 1.0
scrapy-deploy
のコマンドはそのヘルプを参照してくださいe.爬虫類の任務を遂行する
curl http://localhost:6800/schedule.json -d project=njupt -d spider=njupt
プロジェクト=njuptのspiderはscrapyd-client spiders-p njuptで表示できます.
3. Security
scrapydの前に逆エージェントを追加して、ユーザー認証を実現できます.
nginx
を例に、配置nginx
server {
listen 6801;
location / {
proxy_pass http://127.0.0.1:6800/;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd/user.htpasswd;
}
}
/etc/nginx/htpasswd/user.htpasswd
にユーザー名とパスワードを設定し、testと仮定します.scrapy.cfgを変更するには、次の手順に従います.[settings]
default = njupt.settings
[deploy:server-njupt]
url = http://localhost:6800/
project = njupt
username = test
password = test
4. API
公式ドキュメントAPIを参照.