Proyek perayap berbagi cloud Baidu
Ada beberapa proyek sumber terbuka di github, tetapi mereka hanya menyediakan bagian crawler. Proyek ini juga menambahkan modul untuk menyimpan data dan membuat indeks elasticsearch berdasarkan crawler diperlukan. Kembangkan sendiri
Memasang
Instal node.js dan pm2, node digunakan untuk menjalankan crawler dan program pengindeksan, dan pm2 digunakan untuk mengelola tugas node.
Instal mysql dan mongodb. Mysql digunakan untuk menyimpan data crawler, dan mongodb digunakan untuk menyimpan data akhir bersama Baidu Cloud. Data ini dalam format json, dan lebih mudah untuk menyimpannya dengan mongodb.
gitclonehttps://github.com/callmelanmao/yunshare
cnpmi
Disarankan untuk menggunakan perintah cnpm untuk menginstal dependensi npm, metode instalasi paling sederhana
$npminstall-gcnpm--registry=https://registry.npm.taobao.org
Perintah lebih lanjut untuk menginstal cnpm dapat ditemukan di npm.taobao.org.
inisialisasi
Data perayap (terutama daftar URL) disimpan dalam database mysql. Yunshare menggunakan sekuel untuk pemetaan ORM. File sumber ada di src/models/index.js. Nama pengguna dan kata sandi mysql default keduanya root . Anda bisa Anda perlu membuat database yun secara manual
dibuatdatabaseyundefaultcharsetutf8
Ubah password sesuai kebutuhan Anda. Setelah menyelesaikan konfigurasi mysql, Anda dapat menjalankan perintah berikut
gulpbabel
nodedist/script/init.js
Perhatikan bahwa Anda harus menjalankan gulpbabel terlebih dahulu untuk mengkompilasi kode es6 menjadi es5, lalu menjalankan skrip inisialisasi untuk mengimpor data awal. File data ada di data/hot.json, yang berasal dari halaman http://yun.baidu .com/pcloud/friend/gethotuserlist? type=1&from=feed&start=0&limit=24&bdstoken=ac95ef31d3979f6ee707ef75cee9f5c5&clienttype=0&web=1 disimpan.
Mulai sebuah proyek
Yunshare menggunakan pm2 untuk manajemen proses nodejs. Jalankan pm2startprocess.json untuk memulai semua tugas latar belakang. Untuk memeriksa apakah tugas berjalan normal, Anda dapat menggunakan perintah pm2list.
Mulai indeks elasticsearch
Program indeks elasticsearch juga telah ditulis, file pemetaannya ada di data/mapping.json. Pastikan Anda telah menginstal versi elasticsearch5.0 sebelum menjalankan program indeks, perintah pm2startdist/elastic.js.
Alamat elasticsearch default adalah http://localhost:9200. Jika Anda perlu mengubah alamat ini, Anda dapat memodifikasinya di src/ElasticWorker.js. Setelah memodifikasi kode sumber js, ingatlah untuk menjalankan gulpbabel dan memulai ulang tugas pm2, jika tidak modifikasi tidak akan berlaku.
Setelah menyelesaikan konfigurasi elasticsearch, Anda juga dapat menambahkan tugas elastis di process.json sehingga Anda tidak perlu memulai program pengindeksan secara terpisah.
Dokumen terkait
Model perayap nodejs yang sederhana dan efisien
DEMO