>웹 프론트엔드 >JS 튜토리얼 >GitHub에서 AI 기반 JavaScript 저장소를 검색하기 위해 Node.js에서 웹 크롤러 구축

GitHub에서 AI 기반 JavaScript 저장소를 검색하기 위해 Node.js에서 웹 크롤러 구축

DDD
DDD원래의
2024-11-27 20:30:15880검색

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

GitHub는 특히 끊임없이 진화하는 인공 지능 세계에서 혁신적인 프로젝트의 보고입니다. 하지만 AI와 JavaScript를 결합한 저장소를 찾기 위해 수많은 저장소를 조사하고 계십니까? 이는 마치 광대한 코드의 바다에서 보석을 찾는 것과 같습니다. 검색을 자동화하고 이름, URL, 설명과 같은 저장소 세부 정보를 추출하는 스크립트인 Node.js 웹 크롤러를 입력하세요.

이 튜토리얼에서는 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

Google 크롤러는 이 검색을 모방하여 결과를 분석하고 관련 세부정보를 추출합니다.


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 관련 저장소를 대상으로 합니다.


2220 무료 리소스 개발자를 위한!! ❤️ ?? (매일 업데이트)

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에서 관련 저장소를 찾는 지루한 작업을 자동화했습니다. 더 이상 수동으로 탐색하거나 끝없이 클릭할 필요가 없습니다. 스크립트가 어려운 작업을 수행하고 몇 초 만에 결과를 표시합니다.

웹 개발에 대한 더 많은 팁을 보려면 DailySandbox를 확인하고 무료 뉴스레터에 가입하여 앞서 나가세요!

위 내용은 GitHub에서 AI 기반 JavaScript 저장소를 검색하기 위해 Node.js에서 웹 크롤러 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.