Maison interface Web js tutoriel Création d'un robot d'exploration Web dans Node.js pour découvrir les dépôts JavaScript basés sur l'IA sur GitHub

Création d'un robot d'exploration Web dans Node.js pour découvrir les dépôts JavaScript basés sur l'IA sur GitHub

Nov 27, 2024 pm 08:30 PM

Building a Web Crawler in Node.js to Discover AI-Powered JavaScript Repos on GitHub

GitHub est un trésor de projets innovants, notamment dans le monde en constante évolution de l'intelligence artificielle. Mais passer au crible les innombrables référentiels pour trouver ceux qui combinent IA et JavaScript ? C’est comme trouver des joyaux dans une vaste mer de code. Entrez dans notre robot d'exploration Web Node.js, un script qui automatise la recherche, extrayant les détails du référentiel tels que le nom, l'URL et la description.

Dans ce didacticiel, nous allons créer un robot d'exploration qui exploite GitHub, à la recherche de référentiels qui fonctionnent avec l'IA et JavaScript. Plongeons dans le code et commençons à extraire ces joyaux.


Partie 1 : Mise en place du projet

Initialiser le projet Node.js

Commencez par créer un nouveau répertoire pour votre projet et initialisez-le avec npm :

mkdir github-ai-crawler
cd github-ai-crawler
npm init -y

Copier après la connexion
Copier après la connexion

Ensuite, installez les dépendances nécessaires :

npm install axios cheerio

Copier après la connexion
Copier après la connexion
  • axios : Pour effectuer des requêtes HTTP vers GitHub.
  • cheerio : Pour analyser et manipuler du HTML, similaire à jQuery.

Partie 2 : Comprendre la recherche de GitHub

GitHub fournit une puissante fonctionnalité de recherche accessible via des requêtes URL. Par exemple, vous pouvez rechercher des référentiels JavaScript liés à l'IA avec cette requête :

https://github.com/search?q=ai+language:javascript&type=repositories

Copier après la connexion
Copier après la connexion

Notre robot imitera cette recherche, analysera les résultats et extraira les détails pertinents.


Partie 3 : Écriture du script du robot d'exploration

Créez un fichier nommé crawler.js dans le répertoire de votre projet et commencez à coder.

Étape 1 : Importer les dépendances

const axios = require('axios');
const cheerio = require('cheerio');

Copier après la connexion

Nous utilisons axios pour récupérer les résultats de recherche de GitHub et cheerio pour analyser le HTML.


Étape 2 : Définir l'URL de recherche

const SEARCH_URL = 'https://github.com/search?q=ai+language:javascript&type=repositories';

Copier après la connexion

Cette URL cible les référentiels liés à l'IA et écrits en JavaScript.


2220 GRATUITS RESSOURCES POUR LES DÉVELOPPEURS !! ❤️ ?? (mis à jour quotidiennement)

1400 modèles HTML gratuits

351 articles d'actualité gratuits

67 invites IA gratuites

315 bibliothèques de codes gratuites

52 extraits de code et passe-partout gratuits pour Node, Nuxt, Vue et plus !

25 bibliothèques d'icônes Open Source gratuites

Visitez dailysandbox.pro pour accéder gratuitement à un trésor de ressources !


Étape 3 : Récupérer et analyser le code HTML

const fetchRepositories = async () => {
    try {
        // Fetch the search results page
        const { data } = await axios.get(SEARCH_URL);
        const $ = cheerio.load(data); // Load the HTML into cheerio

        // Extract repository details
        const repositories = [];
        $('.repo-list-item').each((_, element) => {
            const repoName = $(element).find('a').text().trim();
            const repoUrl = `https://github.com${$(element).find('a').attr('href')}`;
            const repoDescription = $(element).find('.mb-1').text().trim();

            repositories.push({
                name: repoName,
                url: repoUrl,
                description: repoDescription,
            });
        });

        return repositories;
    } catch (error) {
        console.error('Error fetching repositories:', error.message);
        return [];
    }
};

Copier après la connexion

Voici ce qui se passe :

  • Récupération HTML : La méthode axios.get récupère la page de résultats de recherche.
  • Analyse avec Cheerio : Nous utilisons Cheerio pour naviguer dans le DOM, en ciblant les éléments avec des classes comme .repo-list-item.
  • Extraction des détails : Pour chaque référentiel, nous extrayons le nom, l'URL et la description.

Étape 4 : Afficher les résultats

Enfin, appelez la fonction et enregistrez les résultats :

mkdir github-ai-crawler
cd github-ai-crawler
npm init -y

Copier après la connexion
Copier après la connexion

Partie 4 : Exécution du robot d'exploration

Enregistrez votre script et exécutez-le avec Node.js :

npm install axios cheerio

Copier après la connexion
Copier après la connexion

Vous verrez une liste de référentiels JavaScript liés à l'IA, chacun avec son nom, son URL et sa description, soigneusement affichés dans votre terminal.


Partie 5 : Amélioration du robot d'exploration

Vous voulez aller plus loin ? Voici quelques idées :

  1. Pagination : Ajout de la prise en charge de la récupération de plusieurs pages de résultats de recherche en modifiant l'URL avec &p=2, &p=3, etc.
  2. Filtrage : Filtrez les référentiels par étoiles ou par forks pour prioriser les projets populaires.
  3. Sauvegarde des données : Enregistrez les résultats dans un fichier ou une base de données pour une analyse plus approfondie.

Exemple d'enregistrement dans un fichier JSON :

https://github.com/search?q=ai+language:javascript&type=repositories

Copier après la connexion
Copier après la connexion

La beauté de l'automatisation

Avec ce robot, vous avez automatisé la tâche fastidieuse de recherche de référentiels pertinents sur GitHub. Fini la navigation manuelle ou les clics interminables : votre script fait le gros du travail et présente les résultats en quelques secondes.

Pour plus de conseils sur le développement Web, consultez DailySandbox et inscrivez-vous à notre newsletter gratuite pour garder une longueur d'avance !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Remplacer les caractères de chaîne en javascript Remplacer les caractères de chaîne en javascript Mar 11, 2025 am 12:07 AM

Remplacer les caractères de chaîne en javascript

Tutoriel de configuration de l'API de recherche Google personnalisé Tutoriel de configuration de l'API de recherche Google personnalisé Mar 04, 2025 am 01:06 AM

Tutoriel de configuration de l'API de recherche Google personnalisé

Exemple Couleurs Fichier JSON Exemple Couleurs Fichier JSON Mar 03, 2025 am 12:35 AM

Exemple Couleurs Fichier JSON

8 Superbes plugins de mise en page JQuery Page 8 Superbes plugins de mise en page JQuery Page Mar 06, 2025 am 12:48 AM

8 Superbes plugins de mise en page JQuery Page

10 Highlighters de syntaxe jQuery 10 Highlighters de syntaxe jQuery Mar 02, 2025 am 12:32 AM

10 Highlighters de syntaxe jQuery

Créez vos propres applications Web Ajax Créez vos propres applications Web Ajax Mar 09, 2025 am 12:11 AM

Créez vos propres applications Web Ajax

Qu'est-ce que & # x27; ceci & # x27; en javascript? Qu'est-ce que & # x27; ceci & # x27; en javascript? Mar 04, 2025 am 01:15 AM

Qu'est-ce que & # x27; ceci & # x27; en javascript?

10 tutoriels JavaScript & jQuery MVC 10 tutoriels JavaScript & jQuery MVC Mar 02, 2025 am 01:16 AM

10 tutoriels JavaScript & jQuery MVC

See all articles