โครงการรวบรวมข้อมูลการแบ่งปันบนคลาวด์ของ Baidu
มีโปรเจ็กต์โอเพ่นซอร์สหลายโปรเจ็กต์บน GitHub แต่โปรเจ็กต์เหล่านี้ให้เฉพาะส่วนของโปรแกรมรวบรวมข้อมูลเท่านั้น โปรเจ็กต์นี้ยังเพิ่มโมดูลสำหรับการบันทึกข้อมูลและสร้างดัชนี elasticsearch ตามโปรแกรมรวบรวมข้อมูล ซึ่งสามารถใช้ในสภาพแวดล้อมการใช้งานจริงได้ แต่โมดูลเว็บยังคงอยู่ จำเป็น พัฒนาด้วยตัวเอง
ติดตั้ง
ติดตั้ง node.js และ pm2 โดยจะใช้โหนดเพื่อรันโปรแกรมรวบรวมข้อมูลและโปรแกรมสร้างดัชนี และใช้ pm2 เพื่อจัดการงานของโหนด
ติดตั้ง mysql และ mongodb Mysql ใช้เพื่อบันทึกข้อมูล crawler และ mongodb ใช้เพื่อบันทึกข้อมูล Baidu Cloud ที่แชร์ขั้นสุดท้าย ข้อมูลเหล่านี้อยู่ในรูปแบบ json และสะดวกกว่าในการบันทึกด้วย mongodb
gitclonehttps://github.com/callmelanmao/yunshare
ซีเอ็นพีเอ็มไอ
ขอแนะนำให้ใช้คำสั่ง cnpm เพื่อติดตั้งการพึ่งพา npm ซึ่งเป็นวิธีการติดตั้งที่ง่ายที่สุด
$npminstall-gcnpm--registry=https://registry.npm.taobao.org
สามารถดูคำสั่งเพิ่มเติมสำหรับการติดตั้ง cnpm ได้ที่ npm.taobao.org
การเริ่มต้น
ข้อมูลของโปรแกรมรวบรวมข้อมูล (รายการ URL เป็นหลัก) จะถูกบันทึกไว้ในฐานข้อมูล mysql Yunshare ใช้ sequelizejs สำหรับการแมป ORM . คุณสามารถ คุณต้องสร้างฐานข้อมูล yun ด้วยตนเอง
สร้างฐานข้อมูลyundefaultcharsetutf8
เปลี่ยนรหัสผ่านตามความต้องการของคุณ หลังจากเสร็จสิ้นการกำหนดค่า mysql คุณสามารถรันคำสั่งต่อไปนี้
กลืนบาเบล
โหนด / สคริปต์ / init.js
โปรดทราบว่าก่อนอื่นคุณต้องรัน gulpbabel เพื่อคอมไพล์โค้ด es6 ลงใน es5 จากนั้นรันสคริปต์เริ่มต้นเพื่อนำเข้าข้อมูลเริ่มต้น ไฟล์ข้อมูลอยู่ใน data/hot.json ซึ่งมาจากหน้า http://yun.baidu .com/pcloud/friend/gethotuserlist? type=1&from=feed&start=0&limit=24&bdstoken=ac95ef31d3979f6ee707ef75cee9f5c5&clienttype=0&web=1 บันทึกแล้ว
เริ่มโครงการ
Yunshare ใช้ pm2 สำหรับการจัดการกระบวนการ nodejs รัน pm2startprocess.json เพื่อเริ่มงานเบื้องหลังทั้งหมด หากต้องการตรวจสอบว่างานทำงานตามปกติหรือไม่ คุณสามารถใช้คำสั่ง pm2list ควรมี 4 งานที่ทำงานตามปกติ
เริ่มดัชนีการค้นหาแบบยืดหยุ่น
โปรแกรมดัชนี elasticsearch ก็ถูกเขียนเช่นกัน ไฟล์การแมปอยู่ใน data/mapping.json โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งเวอร์ชัน elasticsearch5.0 ก่อนที่จะรันโปรแกรมดัชนี คำสั่ง pm2startdist/elastic.js
ที่อยู่ elasticsearch เริ่มต้นคือ http://localhost:9200 หากคุณต้องการแก้ไขที่อยู่นี้ คุณสามารถแก้ไขได้ใน src/ElasticWorker.js หลังจากแก้ไขซอร์สโค้ด js แล้ว อย่าลืมเรียกใช้ gulpbabel และรีสตาร์ทงาน pm2 การปรับเปลี่ยนจะไม่มีผล
หลังจากกำหนดค่า elasticsearch เสร็จแล้ว คุณยังสามารถเพิ่มงาน elastic ใน process.json ได้ เพื่อที่คุณจะได้ไม่ต้องเริ่มโปรแกรมสร้างดัชนีแยกกัน
เอกสารที่เกี่ยวข้อง
โมเดลซอฟต์แวร์รวบรวมข้อมูล nodejs ที่เรียบง่ายและมีประสิทธิภาพ
สาธิต