


Membina Web Crawler dalam Node.js untuk Menemui Repos JavaScript Dikuasakan AI di 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:
- Penomboran : Tambahkan sokongan untuk mengambil berbilang halaman hasil carian dengan mengubah suai URL dengan &p=2, &p=3, dsb.
- Penapisan : Tapis repositori mengikut bintang atau garpu untuk mengutamakan projek popular.
- 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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
