[NODE.JS] axios 크롤링

SEUNGJUN·2022년 2월 24일
1

python에서 requests, beautifulsoup를 통해서 특정 웹사이트에서 데이터를 파싱할수 있는 기능을 사용할수가 있습니다. node에서도 그 기능을 수행해 줄수있는 모듈이 있는데 axios라고 합니다.

AXIOS

node에서 사용할수 있는 http비동기 통신 라이브러리

AXIOS특징

  1. Promise API 사용
  2. 요청 중단
  3. JSON형태 데이터 자동 변환

AXIOS 사용

npm install axios
const axios = require("axios");

axios.get("http://example.com/")
    .then((response) =>{
        console.log(response)
})

패키지 매니저로 프로젝트에 추가합니다.
Axios에는 우선 get으로 데이터를 받아오는것을 볼수가 있습니다. 지금 사용한 예시로는 "http://example.com/이라는 사이트입니다.

실제 사이트를 들어가서 확인해 보면 이런식으로 데이터가 있는것을 확인할수가 있는데 실제로 axios.get을 사용해서 데이터를 가져와 보도록 하겠습니다. Promise API를 통해서 response로 데이터를 가져 오게 되면

객체형식으로 데이터가 가져와지는것을 확인할수가 있습니다. 데이터를 전반적으로 살펴보면 status, headers, data 현재 통신에 응답해주는 요청 값들이 넘어온것을 볼수가 있습니다. 여기서 data라는 값을 가져와 보겠습니다.

그렇게 되면 현재 페이지에 html형식의 데이터를 가져올수가 있습니다. 그럼 여기서 h1태그를 가지고 있는 Example Doamin라는 데이터만 따로 추출을 하고 싶으면 cheerio라는 모듈을 사용할수가 있는데 사용법은 간단하다.


htmlString에 html 데이터를 $에 load를 해주고 $(내가찾는태그)를 넣고 그 태그안에 있는 문자만 가져온다고 하면 text()를 뒤에 붙여주면 되는것이다.

profile
RECORD DEVELOPER

0개의 댓글