cheerio2 [Cheerio] 현재 태그의 텍스트만 가져오기 크롤링 할 때 Cheerio 패키지를 사용했다. 현재 노드의 텍스트를 뽑아내고 싶은데, text() 함수를 사용했을 때, 하위 노드의 텍스트도 모두 뽑아내는 것을 확인했다. .text()를 쓰면 하위 태그의 텍스트도 다 긁어온다. 예를 들어 만약 태그 안에 태그가 있다면 태그 속에 있는 텍스트도 함께 긁어온다.$('td').text() 하지만 selector로 고른 현재 태그의 텍스트만 뽑아오고 싶다면, 아래처럼 작성하면 된다.$('td').contents().first().text() 2024. 6. 19. [Node.js] axios, cheerio로 크롤링 시 한글 깨짐 axios와 cheerio로 웹크롤링을 하는데 한글이 깨지는 현상이 발생했다.원인: 크롤링 대상 홈페이지가 charset이 euc-kr로 되어있는 것을 발견했다.이럴 땐 html 문서를 utf-8로 변환해서 가져와야한다. 1. iconv-lite를 이용해보자utf-8 인코딩/디코딩을 지원하는 iconv-lite 패키지를 이용했다. 아래 코드는 html 파일에서 content-type 타입을 가져와서 디코딩을 하는 방식이다.import axios from 'axios';import * as cheerio from 'cheerio';import iconv from 'iconv-lite';const getHtml = async () => { let URL = ''; try { const html = .. 2024. 6. 13. 이전 1 다음 반응형