Rumah >hujung hadapan web >tutorial js >Membina Web Crawler dalam Node.js untuk Menemui Repos JavaScript Dikuasakan AI di GitHub

Membina Web Crawler dalam Node.js untuk Menemui Repos JavaScript Dikuasakan AI di GitHub

DDD
DDDasal
2024-11-27 20:30:15881semak imbas

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

GitHub ialah harta karun projek inovatif, terutamanya dalam dunia kecerdasan buatan yang sentiasa berkembang. Tetapi menyaring repositori yang tidak terkira banyaknya untuk mencari mereka yang menggabungkan AI dan JavaScript? Itu seperti mencari permata dalam lautan kod yang luas. Masukkan perangkak web Node.js kami—skrip yang mengautomasikan carian, mengekstrak butiran repositori seperti nama, URL dan penerangan.

Dalam tutorial ini, kami akan membina perangkak yang menggunakan GitHub, memburu repositori yang berfungsi dengan AI dan JavaScript. Mari kita mendalami kod dan mula melombong permata tersebut.


Bahagian 1: Menyediakan Projek

Mulakan Projek Node.js

Mulakan dengan mencipta direktori baharu untuk projek anda dan memulakannya dengan npm:

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

Seterusnya, pasang kebergantungan yang diperlukan:

npm install axios cheerio

  • axios : Untuk membuat permintaan HTTP kepada GitHub.
  • cheerio : Untuk menghuraikan dan memanipulasi HTML, serupa dengan jQuery.

Bahagian 2: Memahami Carian GitHub

GitHub menyediakan ciri carian berkuasa yang boleh diakses melalui pertanyaan URL. Sebagai contoh, anda boleh mencari repositori JavaScript yang berkaitan dengan AI dengan pertanyaan ini:

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

Perangkak kami akan meniru carian ini, menghuraikan hasil carian dan mengeluarkan butiran yang berkaitan.


Bahagian 3: Menulis Skrip Crawler

Buat fail bernama crawler.js dalam direktori projek anda dan mulakan pengekodan.

Langkah 1: Import Ketergantungan

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

Kami menggunakan axios untuk mengambil hasil carian GitHub dan cheerio untuk menghuraikan HTML.


Langkah 2: Tentukan URL Carian

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

URL ini menyasarkan repositori yang berkaitan dengan AI dan ditulis dalam JavaScript.


2220 PERCUMA SUMBER UNTUK PEMAJU!! ❤️ ?? (dikemas kini setiap hari)

1400 Templat HTML Percuma

351 Artikel Berita Percuma

67 Gesaan AI Percuma

315 Perpustakaan Kod Percuma

52 Coretan Kod & Plat Dandang untuk Nod, Nuxt, Vue dan banyak lagi!

25 Perpustakaan Ikon Sumber Terbuka Percuma

Lawati dailysandbox.pro untuk akses percuma kepada harta karun sumber!


Langkah 3: Ambil dan Parse 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 [];
    }
};

Berikut ialah perkara yang berlaku:

  • Mengambil HTML : Kaedah axios.get mendapatkan semula halaman hasil carian.
  • Menghuraikan dengan Cheerio : Kami menggunakan Cheerio untuk menavigasi DOM, menyasarkan elemen dengan kelas seperti .repo-list-item.
  • Mengekstrak Butiran : Untuk setiap repositori, kami mengekstrak nama, URL dan penerangan.

Langkah 4: Paparkan Keputusan

Akhir sekali, panggil fungsi dan log keputusan:

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


Bahagian 4: Menjalankan Crawler

Simpan skrip anda dan jalankan dengan Node.js:

npm install axios cheerio

Anda akan melihat senarai repositori JavaScript berkaitan AI, setiap satu dengan nama, URL dan perihalannya, dipaparkan dengan kemas dalam terminal anda.


Bahagian 5: Mempertingkatkan Crawler

Ingin meneruskannya? Berikut ialah beberapa idea:

  1. Penomboran : Tambahkan sokongan untuk mengambil berbilang halaman hasil carian dengan mengubah suai URL dengan &p=2, &p=3, dsb.
  2. Penapisan : Tapis repositori mengikut bintang atau garpu untuk mengutamakan projek popular.
  3. Menyimpan Data : Simpan keputusan pada fail atau pangkalan data untuk analisis lanjut.

Contoh untuk menyimpan ke fail JSON:

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


Keindahan Automasi

Dengan perangkak ini, anda telah mengautomasikan tugas yang membosankan untuk mencari repositori yang berkaitan di GitHub. Tiada lagi penyemakan imbas manual atau klik tanpa henti—skrip anda melakukan kerja keras, mempersembahkan hasilnya dalam beberapa saat.

Untuk mendapatkan lebih banyak petua tentang pembangunan web, lihat DailySandbox dan daftar untuk surat berita percuma kami untuk kekal di hadapan!

Atas ialah kandungan terperinci Membina Web Crawler dalam Node.js untuk Menemui Repos JavaScript Dikuasakan AI di GitHub. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn