Scrapy ialah salah satu rangka kerja perangkak paling popular dalam Python Ia boleh membantu pengguna membina perangkak dengan cepat dan meningkatkan kecekapan perangkak. Penggunaan automatik Scrapy ke pelayan boleh menjadikannya lebih mudah bagi pengguna untuk menggunakan dan mengurus program perangkak. Artikel ini akan memperkenalkan cara menggunakan Scrapy secara automatik ke pelayan.
1. Alat penyediaan
Untuk menggunakan Scrapy secara automatik ke pelayan, kami memerlukan beberapa alatan, alatan ini termasuk:
Alat ini sangat biasa jika ia belum dipasang, anda boleh memasangnya mengikut dokumentasi rasmi.
2. Cipta projek
Sebelum penggunaan Scrapy automatik, kami perlu membuat projek Scrapy secara setempat terlebih dahulu. Ia boleh dibuat menggunakan alat baris arahan Scrapy:
scrapy startproject myproject
Ini akan mencipta projek Scrapy bernama myproject
, yang termasuk beberapa kod lalai dan struktur direktori. Seterusnya, kita boleh menulis Spiders, Pipelines dan komponen lain.
Untuk menjadikan projek Scrapy kami lebih mudah untuk digunakan dan dijalankan pada pelayan, kami boleh mencipta fail requirements.txt
dalam direktori akar projek untuk mengurus perpustakaan Python dan versi yang bergantung kepada projek itu. Fail ini boleh dibuat melalui pip, contohnya:
pip freeze > requirements.txt
Ini akan menjana fail requirements.txt
secara automatik, yang mengandungi semua perpustakaan Python yang dipasang dalam sistem semasa dan maklumat versinya. Kami perlu mengalih keluar perpustakaan yang tidak diperlukan secara manual di dalamnya dan menyimpan perpustakaan yang diperlukan seperti Scrapy dan perpustakaan serta alatan lain yang berkaitan. Selepas menentukan kebergantungan, kita boleh menggunakan pip untuk memasang kebergantungan ini dalam persekitaran maya:
pip install -r requirements.txt
3. Konfigurasikan pelayan
Sebelum memulakan penggunaan, kita perlu memasang komponen yang diperlukan pada pelayan . Mengambil Ubuntu sebagai contoh, kita perlu memasang Git, SSH, Virtualenv dan Supervisor. Ia boleh dipasang melalui arahan berikut:
sudo apt-get update sudo apt-get install git ssh virtualenv supervisor
Selepas pemasangan selesai, kita perlu mencipta pengguna baharu pada pelayan. Pengguna ini akan memainkan peranan penting dalam penggunaan dan operasi seterusnya dan akan mempunyai akses kepada perangkak Scrapy. Pengguna baharu bernama myuser
boleh dibuat menggunakan arahan berikut:
sudo adduser myuser
Seterusnya, kita perlu mencipta direktori baharu untuk menyimpan fail penggunaan Scrapy dan konfigurasi berkaitan. Pada pelayan, anda boleh menggunakan arahan berikut untuk mencipta direktori /srv/myproject
:
sudo mkdir /srv/myproject sudo chown myuser:myuser /srv/myproject
4. Sediakan repositori Git dan SSH
Seterusnya, kita perlu memuat naik projek Scrapy ke repositori Git dan gunakan SSH. Secara tempatan, kita boleh menggunakan arahan berikut untuk memuat naik semua kod dalam projek Scrapy ke repositori Git:
git init git add . git commit -m "Initial commit" git remote add origin ssh://myuser@myserver.com/srv/myproject.git git push -u origin master
Kod ini memuat naik projek Scrapy ke pelayan jauh dan menyimpannya dalam direktori /srv/myproject.git
.
Seterusnya, kita perlu mengkonfigurasi SSH pada pelayan supaya kita boleh menggunakan SSH untuk menyambung ke repositori Git dan melaksanakan operasi yang berkaitan. Kita boleh mencipta kunci SSH untuk ini dan menambah kunci awam pada fail authorized_keys
di sebelah pelayan.
Pertama, kita boleh mencipta kunci SSH baharu secara setempat menggunakan arahan berikut:
ssh-keygen
Ini akan mencipta pasangan kunci awam dan peribadi. Seterusnya, kita perlu menambah kunci awam pada fail authorized_keys
di sebelah pelayan:
ssh myuser@myserver.com "mkdir -p ~/.ssh && chmod 0700 ~/.ssh && echo 'PUBLIC_KEY' >> ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys"
Sila gantikan PUBLIC_KEY
dengan kunci awam pada komputer setempat anda.
Kini kami boleh menggunakan SSH untuk menyambung ke pelayan dan melakukan operasi.
5. Gunakan projek Scrapy
Kini, kami bersedia untuk menggunakan projek Scrapy secara automatik pada pelayan. Untuk melakukan ini, kita perlu mencipta persekitaran maya baharu pada pelayan dan memasang Scrapy dan perpustakaan bergantung lain yang diperlukan:
mkdir /srv/myproject/env virtualenv /srv/myproject/env source /srv/myproject/env/bin/activate pip install scrapy supervisor
Buat direktori kerja projek Scrapy pada pelayan, klon projek Scrapy daripada repositori Git, dan Cipta fail supervisord.conf
untuk mengkonfigurasi pengurusan proses:
mkdir /srv/myproject/src cd /srv/myproject/src git clone ssh://myuser@myserver.com/srv/myproject.git . cp /srv/myproject/env/bin/supervisord /srv/myproject/env/bin/supervisord.conf /etc sudo supervisorctl reread sudo supervisorctl update
Ini akan mengklonkan projek Scrapy ke pelayan dan mencipta fail /srv/myproject
dalam direktori supervisord.conf
. Kita boleh mengedit fail supervisord.conf
untuk memulakan perangkak Scrapy:
[program:myproject] command=/srv/myproject/env/bin/scrapy crawl myspider directory=/srv/myproject/src autostart=true autorestart=true stopasgroup=true killasgroup=true
di mana parameter command
digunakan untuk memulakan perangkak Scrapy, parameter directory
digunakan untuk menentukan direktori kerja dan Parameter autostart
dan autorestart
digunakan untuk memulakan semula perangkak Scrapy secara automatik selepas ia berhenti Parameter stopasgroup
dan killasgroup
digunakan untuk menghentikan semua proses yang berkaitan pada masa yang sama apabila menghentikan proses.
Akhir sekali, kita boleh menggunakan arahan berikut untuk memulakan perangkak Scrapy:
sudo supervisorctl start myproject
Dengan cara ini, perangkak Scrapy boleh digunakan ke pelayan dan dijalankan secara automatik.
Ringkasan
Pengerahan automatik Scrapy ke pelayan ialah kaedah yang sangat mudah dan cekap Kami boleh memuat naik kod ke repositori Git jauh dan menyambung ke pelayan melalui SSH untuk penggunaan dan pengurusan. Dengan menggunakan Virtualenv dan Supervisor, kami boleh mengawal persekitaran dan proses projek dengan lebih baik, dan membiarkan perangkak Scrapy berjalan secara automatik pada pelayan.
Atas ialah kandungan terperinci Bagaimanakah Scrapy mengautomasikan penggunaan ke pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!