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

Nov 27, 2024 pm 08:30 PM

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

Salin selepas log masuk
Salin selepas log masuk

Seterusnya, pasang kebergantungan yang diperlukan:

npm install axios cheerio

Salin selepas log masuk
Salin selepas log masuk
  • 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

Salin selepas log masuk
Salin selepas log masuk

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');

Salin selepas log masuk

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';

Salin selepas log masuk

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 [];
    }
};

Salin selepas log masuk

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

Salin selepas log masuk
Salin selepas log masuk

Bahagian 4: Menjalankan Crawler

Simpan skrip anda dan jalankan dengan Node.js:

npm install axios cheerio

Salin selepas log masuk
Salin selepas log masuk

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

Salin selepas log masuk
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ganti aksara rentetan dalam javascript Ganti aksara rentetan dalam javascript Mar 11, 2025 am 12:07 AM

Ganti aksara rentetan dalam javascript

periksa jQuery jika tarikh sah periksa jQuery jika tarikh sah Mar 01, 2025 am 08:51 AM

periksa jQuery jika tarikh sah

jQuery mendapatkan padding/margin elemen jQuery mendapatkan padding/margin elemen Mar 01, 2025 am 08:53 AM

jQuery mendapatkan padding/margin elemen

10 Tab Accordion JQuery 10 Tab Accordion JQuery Mar 01, 2025 am 01:34 AM

10 Tab Accordion JQuery

10 patut diperiksa plugin jQuery 10 patut diperiksa plugin jQuery Mar 01, 2025 am 01:29 AM

10 patut diperiksa plugin jQuery

HTTP Debugging dengan Node dan HTTP-Console HTTP Debugging dengan Node dan HTTP-Console Mar 01, 2025 am 01:37 AM

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom Tutorial Persediaan API Carian Google Custom Mar 04, 2025 am 01:06 AM

Tutorial Persediaan API Carian Google Custom

jQuery tambah bar scroll ke div jQuery tambah bar scroll ke div Mar 01, 2025 am 01:30 AM

jQuery tambah bar scroll ke div

See all articles