Rumah pembangunan bahagian belakang Tutorial Python Bagaimanakah Scrapy mengautomasikan penggunaan ke pelayan?

Bagaimanakah Scrapy mengautomasikan penggunaan ke pelayan?

Jun 22, 2023 am 08:08 AM
penggunaan automatik yang buruk Kerahan pelayan Penyelesaian penggunaan automatik

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:

  1. Git: alat kawalan versi, digunakan dalam Urus kod antara tempatan dan pelayan.
  2. SSH: Secure Shell, pindahkan data dengan selamat dan laksanakan arahan antara pelayan tempatan dan jauh.
  3. Virtualenv: Alat pengurusan persekitaran maya Python, yang boleh menjadikan persekitaran penggunaan Scrapy kami lebih jelas dan bebas.
  4. Penyelia: Sistem kawalan proses, digunakan untuk mengurus dan memantau proses perangkak Scrapy pada pelayan.

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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"
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Bagaimana untuk menyelesaikan masalah kebenaran yang dihadapi semasa melihat versi Python di Terminal Linux? Apr 01, 2025 pm 05:09 PM

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Bagaimana cara menyalin seluruh lajur satu data ke dalam data data lain dengan struktur yang berbeza di Python? Apr 01, 2025 pm 11:15 PM

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apakah ungkapan biasa? Apakah ungkapan biasa? Mar 20, 2025 pm 06:25 PM

Ekspresi biasa adalah alat yang berkuasa untuk memadankan corak dan manipulasi teks dalam pengaturcaraan, meningkatkan kecekapan dalam pemprosesan teks merentasi pelbagai aplikasi.

Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Bagaimanakah uvicorn terus mendengar permintaan http tanpa serving_forever ()? Apr 01, 2025 pm 10:51 PM

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Bagaimana secara dinamik membuat objek melalui rentetan dan panggil kaedahnya dalam Python? Apr 01, 2025 pm 11:18 PM

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Apakah beberapa perpustakaan Python yang popular dan kegunaan mereka? Mar 21, 2025 pm 06:46 PM

Artikel ini membincangkan perpustakaan Python yang popular seperti Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask, dan Permintaan, memperincikan kegunaan mereka dalam pengkomputeran saintifik, analisis data, visualisasi, pembelajaran mesin, pembangunan web, dan h

See all articles