크롤링을 하기전 우선 url의 뒷부분에 robots.txt를 붙여 해당 사이트의 크롤링 정책을 확인해봐야한다.
예를 들면 www.naver.com/robots.txt와 같이 말이다.
사이트 마다 다르겠지만 보통은 크롤링 정책을 정리해둔 사이트가 뜨거나 텍스트 파일로 다운로드가 될거다.
크롤링보다는 웹 스크래핑에 가깝겠지만 우선 웹 스크래핑에는 여러도구가 사용된다.
selenium, beautifulsoup,axios,cheerio, puppeteer등 여러 도구가 있다.
오늘은 axios와 cheerio에 대해 간단히 포스팅하려 한다.
우선 npm을 이용해 해당 모듈을 설치해줘야한다.
npm install axios 와 npm install cheerio 를 터미널창에 입력한다.
이후 axios를 이용해 타겟 사이트에 접속하고 cheerio를 통해 response 데이터를 이용하는 방식이다.
다만 이렇게 두개만 사용하게 되면 동적인 사이트에 매우 취향하다. 예를들면 스크롤을 해야 원하는 정보가 로딩된다던지,,
const axios = require("axios");
const cheerio = require('cheerio');
axios.get("http://www.google.com").then((response) => {
const htmlString = response.data;
const $ = cheerio.load(htmlString);
//$.html();
const href=$('a').attr('href');
console.log(href);
// $('h2.title').text('Hello there!');
// $('h2').addClass('welcome');
//console.log(response);
// console.log(Object.keys(response));
// console.log(response.data);
});
//axios와 cheerio를 사용했음 하지만 동적페이지에 약하다.
'Computer > Web Programming' 카테고리의 다른 글
DOM 이란 무엇일까? 얄팍한 코딩사전을 듣고 정리한 글. (0) | 2022.02.03 |
---|---|
[Authentication] 인증 (0) | 2021.04.13 |
Flask framework 사용하는 함수 정리 (0) | 2021.03.30 |
[WEB]웹 이야기1 (0) | 2021.03.25 |
[web]flask error, logging 기초 정리 (0) | 2021.03.12 |