Berbagi teknologi

Scrapy menulis crawler

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Scrapy adalah kerangka kerja Python untuk merayapi data situs web dan mengekstrak informasi terstruktur

1. Pengantar Scrapy

1.Mesin
– Mesin Scrapy adalah inti dari pengendalian aliran data dan pemicu peristiwa. Ia mengelola permintaan yang dikirim oleh Spider dan tanggapan yang diterima, serta memproses Item yang dihasilkan oleh Spider. Mesin adalah kekuatan pendorong di balik operasi Scrapy.

2. Penjadwal
– Penjadwal bertanggung jawab untuk menerima permintaan yang dikirim oleh mesin dan mengantrekannya sesuai dengan kebijakan tertentu (seperti prioritas, kedalaman, dll.). Ketika mesin memerlukan permintaan baru, penjadwal mengambil permintaan dari antrian dan mengembalikannya ke mesin. Ini memastikan pemrosesan permintaan yang teratur.

3. Pengunduh
– Pengunduh bertanggung jawab untuk mengunduh konten web berdasarkan permintaan yang dikirim oleh mesin Scrapy. Ia menggunakan protokol HTTP untuk berkomunikasi dengan server situs web dan mengembalikan konten halaman web yang diunduh ke mesin Scrapy sebagai respons. Pengunduh adalah komponen inti Scrapy untuk mendapatkan data halaman web.

4. Laba-laba
– Spider adalah komponen di Scrapy yang digunakan untuk mendefinisikan logika perayapan dan mengurai konten halaman web.Mereka menghasilkan permintaan awal berdasarkan aturan yang ditentukan dan memproses respons yang dikembalikan oleh pengunduh untuk mengekstrak data yang diperlukan (Item) atau menghasilkan permintaan baru (Permintaan) untuk perayapan lebih lanjut.

5. Pipa Barang
– Item Pipelines bertanggung jawab untuk memproses Item yang diekstraksi oleh Spider. Mereka dapat melakukan berbagai tugas seperti membersihkan data, memverifikasi integritas data, dan menyimpan data dalam database atau file. Dengan mendefinisikan beberapa Pipeline, data dapat diproses secara fleksibel untuk memenuhi kebutuhan yang berbeda.

6. Pengunduh Middleware
– Middleware pengunduh terletak di antara mesin Scrapy dan pengunduh dan digunakan untuk menangani permintaan dan tanggapan. Mereka dapat memodifikasi permintaan (seperti menambahkan header permintaan, mengatur proxy, dll.) atau respons (seperti pemrosesan kompresi, pemrosesan pengalihan, dll.), sehingga mengontrol cara Scrapy berinteraksi dengan situs web. Middleware adalah mekanisme penting bagi Scrapy untuk memperluas fungsinya.

7. Peralatan Tengah Laba-laba
– Middleware Spider terletak di antara mesin Scrapy dan Spider dan digunakan untuk memproses input Spider (yaitu respons) dan output (yaitu Item dan permintaan baru). Mereka dapat mengubah atau membuang tanggapan, menangani pengecualian, dan bahkan mengubah atau membuang item dan permintaan yang dihasilkan oleh laba-laba. Middleware Spider menyediakan kemampuan untuk memasukkan fungsi khusus selama eksekusi Spider.

Aliran data antar masing-masing komponen ditunjukkan pada gambar:
Masukkan deskripsi gambar di sini

  • Dimulai dari URL awal, Penjadwal akan menyerahkannya kepada Downloader untuk diunduh
  • Setelah diunduh, akan diserahkan ke Spider untuk dianalisis.
  • Ada dua jenis hasil yang dianalisis oleh Spider:
  • Salah satunya adalah link yang perlu dirayapi lebih lanjut, seperti link "halaman berikutnya", yang akan diteruskan kembali ke Penjadwal;
  • Yang lainnya adalah data yang perlu disimpan, yang dikirim ke Item Pipeline untuk pasca-pemrosesan (analisis mendetail, pemfilteran, penyimpanan, dll.)

2. Instal scrapy

pip install scrapy