GitHub 是創新專案的寶庫,尤其是在不斷發展的人工智慧世界中。但是要篩選無數的儲存庫來找到那些結合了 AI 和 JavaScript 的儲存庫嗎?這就像在浩瀚的程式碼海洋中尋找寶石一樣。輸入我們的 Node.js 網路爬蟲——一個自動搜尋、提取儲存庫詳細資訊(如名稱、URL 和描述)的腳本。
在本教學中,我們將建立一個利用 GitHub 的爬蟲,尋找與 AI 和 JavaScript 搭配使用的儲存庫。讓我們深入研究程式碼並開始挖掘這些寶石。
首先為您的專案建立一個新目錄並使用 npm 對其進行初始化:
mkdir github-ai-crawler cd github-ai-crawler npm init -y
接下來,安裝必要的依賴項:
npm install axios cheerio
GitHub 提供了強大的搜尋功能,可透過 URL 查詢存取。例如,您可以使用下列查詢搜尋與 AI 相關的 JavaScript 儲存庫:
https://github.com/search?q=ai+language:javascript&type=repositories
我們的爬蟲將模倣此搜索,解析結果並提取相關詳細資訊。
在專案目錄中建立一個名為crawler.js的檔案並開始編碼。
const axios = require('axios'); const cheerio = require('cheerio');
我們使用 axios 來取得 GitHub 的搜尋結果,並使用 Cheerio 來解析 HTML。
const SEARCH_URL = 'https://github.com/search?q=ai+language:javascript&type=repositories';
此 URL 的目標是與 AI 相關並用 JavaScript 編寫的儲存庫。
2220 免費 資源 針對開發者! ❤️?? (每日更新)
1400 個免費 HTML 範本
351 篇免費新聞文章
67 個免費 AI 提示
315 個免費程式碼庫
52 個適用於 Node、Nuxt、Vue 等的免費程式碼片段和樣板!
25 個免費開源圖示庫
造訪 dailysandbox.pro 免費存取資源寶庫!
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 []; } };
這是發生的事情:
最後,呼叫函數並記錄結果:
mkdir github-ai-crawler cd github-ai-crawler npm init -y
儲存腳本並使用 Node.js 運行它:
npm install axios cheerio
您將看到與 AI 相關的 JavaScript 儲存庫列表,每個儲存庫都有其名稱、URL 和描述,整齊地顯示在您的終端中。
想更進一步嗎?這裡有一些想法:
儲存到 JSON 檔案的範例:
https://github.com/search?q=ai+language:javascript&type=repositories
透過這個爬蟲,您可以自動完成在 GitHub 上尋找相關儲存庫的繁瑣任務。不再需要手動瀏覽或無休止的點擊——您的腳本會完成艱苦的工作,在幾秒鐘內呈現結果。
有關 Web 開發的更多技巧,請查看 DailySandbox 並註冊我們的免費時事通訊以保持領先地位!
以上是在 Node.js 中建立網路爬蟲以發現 GitHub 上由 AI 驅動的 JavaScript 儲存庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!