Sistem perayap terdistribusi YayCrawler, mudah digunakan, konfigurasi tingkat lanjut. Ini dapat diperluas, mengurangi beban kerja pengembangan, dapat di-docker, dan beradaptasi dengan berbagai kebutuhan mendesak. Kerangka kerja inti: WebMagic, Spring Boot, MongoDB, ActiveMQ, Spring + Quartz, Spring Jpa, Druid, Redis, Ehcache, SLF4J, Log4j2, Bootstrap + Jquery, dll.
Dengan kemampuan terbaik kami, maksimalkan produktivitas pengembang perayap web, yang merupakan angin segar dalam kerangka perayap.
Framework crawler terdistribusi lengkap yang dikembangkan berdasarkan WebMagic. Ciri-ciri framework ini adalah sebagai berikut:
1. Terdistribusi sepenuhnya: Terdiri dari terminal manajemen (Admin), terminal pengirim (Master) dan beberapa pekerja. Setiap komponen berkomunikasi melalui protokol HTTP.
2. Dapat dikonfigurasi sepenuhnya: Data dari situs web mana pun dapat dirayapi melalui aturan konfigurasi halaman di sisi Admin. Tentu saja, tingkat kesulitan setiap situs web berbeda-beda, dan akan ada komponen berbeda untuk menangani masalah seperti login, kode verifikasi, IP pemblokiran, dll.
3. Antrean tugas yang dapat diskalakan: Antrean tugas diimplementasikan oleh Redis. Ada empat antrian tugas yang berbeda sesuai dengan status tugas: awal, pelaksanaan, berhasil, dan gagal. Anda juga dapat memperluas algoritma penjadwalan tugas yang berbeda, standarnya adalah penjadwalan yang adil.
4. Metode persistensi yang dapat ditentukan: Dalam hasil perayapan, data atribut disimpan ke MonogoDB secara default, dan gambar akan diunduh ke server file.
5. Stabilitas dan toleransi kesalahan: Setiap tugas perayap akan dicoba ulang dan dicatat. Hanya ketika tugas tersebut benar-benar berhasil, tugas tersebut akan dipindahkan ke antrian sukses. Kegagalan akan memiliki penjelasan tentang alasan kegagalan tersebut.
Kerangka inti: Boot Webmagic Spring
Penjadwalan tugas: Pegas + Kuarsa
Kerangka lapisan persistensi: Spring Jpa
Basis data & kumpulan koneksi: Alibaba Druid MongoDB MySql
Kerangka kerja cache: Redis Ehcache
Manajemen log: SLF4J, Log4j2
Kerangka kerja front-end: Bootstrap + Jquary
1.Instal JDK8
2. Instal database mysql untuk menyimpan data seperti aturan parsing. Anda perlu membuat instance database "yayCrawler" dan menjalankan skrip database terkait kuarsa: quartz.sql (lihat paket rilis atau kode sumber).
3.Instal redis
4. Instal mongoDB untuk menyimpan data hasil
5. Instal perangkat lunak server ftp ftpserver (opsional, digunakan untuk menyimpan gambar yang diunduh)
Impor proyek, instal maven untuk menginstal modul Admin, Pekerja, Master. Kemudian salin Jar yang dihasilkan ke direktori crawler.worker/deploy. Ingatlah untuk mengubah IP Redis dan mysql mogodb di file konfigurasi dan klik start.bat untuk memulai.
(Linux & Windows) java -jar pekerja.perang --spring.config.location=worker_local.properties
tutup perintah
(Windows) untuk /f "tokens=1-5 delims= " %%a in ('"netstat -ano|findstr "^:8086""') lakukan taskkill /f /pid %%e
1. Admin Lapisan Admin terutama bertanggung jawab atas konfigurasi aturan ekstraksi halaman, konfigurasi situs halaman, pengelolaan sumber daya, dan pelepasan tugas.
2. Master adalah pusat kendali perayap yang didistribusikan. Ia menerima tugas yang dilepaskan oleh Admin dan memberikan tugas kepada pekerja untuk dieksekusi.
2.1. Menerima tugas penerbitan
2.2. Menerima pendaftaran Pekerja
3. Pekerja adalah pemuda pekerja keras yang benar-benar melakukan sesuatu. Dia menerima dan melaksanakan tugas yang diberikan oleh Guru, dan melaporkan detak jantungnya kepada Guru secara teratur.