Projet de robot d'exploration de partage dans le cloud Baidu
Il existe plusieurs projets open source de ce type sur github, mais ils ne fournissent que la partie robot. Ce projet ajoute également des modules pour sauvegarder les données et établir des index elasticsearch basés sur le robot. Il peut être utilisé dans des environnements de production réels, mais le module Web est toujours. requis. Développez-le vous-même.
Installer
Installez node.js et pm2, le nœud est utilisé pour exécuter des robots d'exploration et des programmes d'indexation, et pm2 est utilisé pour gérer les tâches de nœud.
Installez mysql et mongodb Mysql est utilisé pour enregistrer les données du robot, et mongodb est utilisé pour enregistrer les données partagées finales de Baidu Cloud. Ces données sont au format json et il est plus pratique de les enregistrer avec mongodb.
gitclonehttps://github.com/callmelanmao/yunshare
cnpmi
Il est recommandé d'utiliser la commande cnpm pour installer les dépendances npm, la méthode d'installation la plus simple
$npminstall-gcnpm--registry=https://registry.npm.taobao.org
Plus de commandes pour installer cnpm peuvent être trouvées sur npm.taobao.org.
initialisation
Les données du robot (principalement la liste d'URL) sont enregistrées dans la base de données mysql. Yunshare utilise sequelizejs pour le mappage ORM. Le fichier source se trouve dans src/models/index.js. Le nom d'utilisateur et le mot de passe mysql par défaut sont tous deux root. .Vous pouvez Vous devez créer manuellement la base de données yun.
base de données crééeyundefaultcharsetutf8
Modifiez le mot de passe en fonction de vos besoins. Après avoir terminé la configuration de MySQL, vous pouvez exécuter la commande suivante.
avalerbabel
nodedist/script/init.js
Notez que vous devez d'abord exécuter gulpbabel pour compiler le code es6 dans es5, puis exécuter le script d'initialisation pour importer les données initiales. Le fichier de données se trouve dans data/hot.json, qui provient de la page http://yun.baidu. .com/pcloud/friend/gethotuserlist? type=1&from=feed&start=0&limit=24&bdstoken=ac95ef31d3979f6ee707ef75cee9f5c5&clienttype=0&web=1 enregistré.
Démarrer un projet
Yunshare utilise pm2 pour la gestion des processus nodejs. Exécutez pm2startprocess.json pour démarrer toutes les tâches en arrière-plan. Pour vérifier si les tâches s'exécutent normalement, vous pouvez utiliser la commande pm2list. Il devrait y avoir 4 tâches s'exécutant normalement.
Démarrer l'index elasticsearch
Le programme d'index elasticsearch a également été écrit. Le fichier de mappage se trouve dans data/mapping.json. Veuillez vous assurer d'avoir installé la version elasticsearch5.0 avant d'exécuter le programme d'index, commande pm2startdist/elastic.js.
L'adresse elasticsearch par défaut est http://localhost:9200. Si vous devez modifier cette adresse, vous pouvez la modifier dans src/ElasticWorker.js. Après avoir modifié le code source js, n'oubliez pas d'exécuter gulpbabel et de redémarrer la tâche pm2, sinon. la modification ne prendra pas effet.
Après avoir terminé la configuration d'elasticsearch, vous pouvez également ajouter une tâche élastique dans process.json afin de ne pas avoir besoin de démarrer le programme d'indexation séparément.
Documents associés
Modèle de robot d'exploration nodejs simple et efficace
DÉMO