ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js で Web クローラーを構築して、GitHub 上で AI を活用した JavaScript リポジトリを検出する

Node.js で Web クローラーを構築して、GitHub 上で AI を活用した JavaScript リポジトリを検出する

DDD
リリース: 2024-11-27 20:30:15
オリジナル
821 人が閲覧しました

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

GitHub は、特に進化し続ける人工知能の世界において、革新的なプロジェクトの宝庫です。しかし、無数のリポジトリをふるいにかけて、AI と JavaScript を組み合わせたリポジトリを見つけますか?それは広大なコードの海から宝石を見つけるようなものです。 Node.js Web クローラーを入力します。これは、検索を自動化し、名前、URL、説明などのリポジトリの詳細を抽出するスクリプトです。

このチュートリアルでは、GitHub を利用するクローラーを構築し、AI と JavaScript で動作するリポジトリを探し出します。コードを詳しく見て、これらの宝石のマイニングを開始しましょう。


パート 1: プロジェクトのセットアップ

Node.js プロジェクトを初期化する

まず、プロジェクト用に新しいディレクトリを作成し、npm で初期化します。

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

ログイン後にコピー
ログイン後にコピー

次に、必要な依存関係をインストールします。

npm install axios cheerio

ログイン後にコピー
ログイン後にコピー
  • axios : GitHub への HTTP リクエストを行うため。
  • cheerio : jQuery に似た HTML の解析と操作用。

パート 2: GitHub の検索を理解する

GitHub は、URL クエリ経由でアクセスできる強力な検索機能を提供します。たとえば、次のクエリを使用して AI に関連する JavaScript リポジトリを検索できます:

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

ログイン後にコピー
ログイン後にコピー

当社のクローラーはこの検索を模倣し、結果を解析し、関連する詳細を抽出します。


パート 3: クローラー スクリプトの作成

プロジェクト ディレクトリにcrawler.jsという名前のファイルを作成し、コーディングを開始します。

ステップ 1: 依存関係をインポートする

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

ログイン後にコピー

GitHub の検索結果を取得するために axios を使用し、HTML を解析するために Cherio を使用しています。


ステップ 2: 検索 URL を定義する

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

ログイン後にコピー

この URL は、JavaScript で記述された AI 関連のリポジトリを対象としています。


2,220 無料 リソース 開発者向け!! ❤️ ?? (毎日更新)

1400 の無料 HTML テンプレート

351 の無料ニュース記事

67 個の無料 AI プロンプト

315 の無料コード ライブラリ

Node、Nuxt、Vue などの 52 の無料コード スニペットとボイラープレート!

25 の無料のオープンソース アイコン ライブラリ

dailysandbox.pro にアクセスして、リソースの宝庫に無料でアクセスしてください!


ステップ 3: 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 [];
    }
};

ログイン後にコピー

何が起こっているかは次のとおりです:

  • HTML の取得 : axios.get メソッドは検索結果ページを取得します。
  • Cheerio を使用した解析 : Cheerio を使用して DOM をナビゲートし、.repo-list-item.
  • のようなクラスを持つ要素をターゲットにします。
  • 詳細の抽出 : リポジトリごとに、名前、URL、説明を抽出します。

ステップ 4: 結果を表示する

最後に、関数を呼び出して結果をログに記録します。

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

ログイン後にコピー
ログイン後にコピー

パート 4: クローラーの実行

スクリプトを保存し、Node.js で実行します。

npm install axios cheerio

ログイン後にコピー
ログイン後にコピー

AI 関連の JavaScript リポジトリのリストが、それぞれ名前、URL、説明とともにターミナルにきちんと表示されます。


パート 5: クローラーの強化

さらに進化してみませんか?以下にいくつかのアイデアを示します:

  1. ページネーション : &p=2、&p=3 などで URL を変更することにより、検索結果の複数ページを取得するためのサポートを追加します。
  2. フィルタリング : スターまたはフォークでリポジトリをフィルタリングし、人気のあるプロジェクトを優先します。
  3. データの保存 : さらに分析するために結果をファイルまたはデータベースに保存します。

JSON ファイルに保存する例:

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

ログイン後にコピー
ログイン後にコピー

自動化の美しさ

このクローラを使用すると、GitHub で関連するリポジトリを見つけるという面倒なタスクを自動化できます。手動でブラウズしたり、延々とクリックしたりする必要はもうありません。スクリプトが難しい作業を実行し、数秒で結果を表示します。

Web 開発に関するその他のヒントについては、DailySandbox をチェックし、無料のニュースレターに登録して時代の先を行きましょう!

以上がNode.js で Web クローラーを構築して、GitHub 上で AI を活用した JavaScript リポジトリを検出するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート