cheerio 예제

cheerio를 사용하여 이전 예제를 구현하는 방법을 살펴 보겠습니다: ❤ 친숙한 구문: Cheerio는 코어 jQuery의 하위 집합을 구현합니다. Cheerio는 jQuery 라이브러리에서 모든 DOM 불일치 및 브라우저 cruft를 제거하여 진정으로 멋진 API를 공개합니다. 이제 이전의 응답 데이터를 사용하여 Cheerio 인스턴스를 만들고 다운로드한 웹 페이지를 긁어낼 수 있습니다. 다른 많은 웹 스크래핑 라이브러리가 있으며 가장 인기있는 프로그래밍 언어 와 플랫폼에서 실행됩니다. 그러나 Cheerio를 독특하게 만드는 것은 jQuery 기반 API입니다. 귀사는 생산에 치리오를 사용합니까? 이 프로젝트를 후원하는 것을 고려하십시오. 여러분의 도움을 통해 메인테이너가 개발 및 지원에 더 많은 시간과 자원을 할애할 수 있습니다. 이 예제에서는 Chrome에서 해커 뉴스를 열고 오른쪽 단추로 클릭하고 상위 순위 스토리의 제목을 검사했습니다. 시작하려면 Cheerio 라이브러리를 프로젝트에 설치해 보겠습니다: Cheerio는 Node.js와 함께 jQuery를 활용한 다른 웹 사이트를 웹 스크랩하고 jQuery 라이브러리에서 모든 DOM 불일치 및 브라우저를 제거할 수 있습니다. 자세한 내용은 아래 링크를 참조하십시오: jQuery API는 표준 CSS 선택기를 사용하여 요소를 검색하고 읽을 수 있는 API를 사용하여 정보를 추출하기 때문에 유용합니다. 그러나 jQuery는 브라우저 내에서만 사용할 수 있으므로 웹 스크래핑에 사용할 수 없습니다.

Cheerio는 Node.js 런타임 내에서 jQuery의 기능을 제공하여 이 문제를 해결하므로 서버 측 응용 프로그램에서도 사용할 수 있습니다. 이제 브라우저에 따라 동일한 익숙한 CSS 선택 구문 및 jQuery 메서드를 사용할 수 있습니다. jQuery와 달리 Cheerio는 브라우저의 DOM에 액세스 할 수 없습니다. 대신 크롤링하려는 웹 페이지의 소스 코드를 로드해야 합니다. Cheerio를 사용하면 HTML 코드를 문자열로 로드할 수 있으며 jQuery처럼 사용할 수 있는 인스턴스를 반환합니다. 웹 스크래핑하는 동안 기억해야 할 한 가지 중요한 측면은 추출하려는 요소에서 패턴을 찾는 것입니다. 예를 들어 모두 공통 ul 요소 아래에 항목을 나열하거나 테이블 요소의 행일 수 있습니다. 웹 페이지의 소스 코드를 검사하는 것은 이러한 패턴을 찾는 가장 좋은 방법이며, 그 후 Cheerio의 API를 사용하는 것이 케이크 조각이어야합니다! 일부 사용자는 htmlparser2 라이브러리로 태그를 구문 분석하고 Cheerio를 사용하여 결과 구조를 탐색/조작할 수 있습니다. 이것은 Cheerio의 사전 1.0 릴리스에서 업그레이드 하는 경우 (htmlparser2에 의존), 잘못 된 태그를 처리 하는 사람들을 위해 (htmlparser2 더 용서 하기 때문에), 또는 성능에 중요 한 상황에서 작동 하는 사람들에 대 한 (때문에 htmlparser2는 경우에 따라 더 빠를 수 있습니다). “더 용서”는 htmlparser2가 웹 브라우저에서 관찰하는 표준과 항상 일치하지 않는 오류 수정 메커니즘을 가지고 있음을 의미합니다. 이 동작은 HTML이 아닌 콘텐츠를 구문 분석할 때 유용할 수 있습니다.

또한 텍스트 정적 메서드를 사용 하 여 Cheerio 개체의 텍스트 콘텐츠를 렌더링할 수 있습니다.: jQuery는 지금까지 사용 되는 가장 인기 있는 자바 스크립트 라이브러리. DOM을 통과하고 조작하기 위해 브라우저 기반 자바 스크립트 응용 프로그램에서 사용됩니다. 예를 들어 문서에 다음 단락이 있는 경우: Cheerio는 개발자가 jQuery와 같은 구문을 사용하여 웹 페이지를 해석하고 분석하는 데 도움이 되는 Node.js 라이브러리입니다. 이 게시물에서는 Cheerio를 사용하여 웹을 긁는 방법을 설명합니다. ButterCMS API 설명서를 예로 들며 Cheerio를 사용하여 웹 페이지에서 모든 API 끝점 URL을 추출합니다. Cheerio는 프로젝트에 적용할 수 있는 다른 많은 속성을 가지고 있으며 설명서에 표시할 수 있습니다. 이전 예제와 동일한 출력이 표시됩니다.