본문 바로가기
반응형

cheerio3

[Cheerio],[Axios] 모듈을 사용한 웹 크롤링 - 3 이전 포스팅에서는, Thebook 서비스의 책 내용에 해당하는 html을 크롤링하여 저장하는 함수까지 완성하였다. 현재로서는 프로젝트 루트에 ./fetching.js 만이 존재할 것이다. 마지막으로, fetching.js 로 크롤링한 Thebook의 책 내용을 읽기 편한 형태로 다시 렌더링하여 html response를 전송하는 express 서버를 제작해보려 한다. 일단. 프로젝트 루트에 ./app.js 파일을 하나 생성한다. 그리고 아래의 코드를 작성한다. ./app.js const express = require('express'); const loading = require('./fetching.js'); const app = express(); app.get('/book', (req, res, .. 2020. 4. 3.
[Cheerio],[Axios] 모듈을 사용한 웹 크롤링 - 2 이전 포스팅에서 책의 목차를 크롤링하여, 배열에 URL을 저장하는 작업까지 완료하였다. 현재까지의 코드는 아래와 같다. /fetching.js const axios = require('axios'); const cheerio = require('cheerio'); let $href = []; axios.get(`https://thebook.io/080212`) .then(dataa => { const $ = cheerio.load(dataa.data); $('section.book-toc>ul>li>a').each((index, item)=>{$href.push(item.attribs.href)}); console.log($href); }); $href 배열에는 아래와 같이 URL이 담겨 있다. 이 UR.. 2020. 4. 1.
[Cheerio],[Axios] 모듈을 사용한 웹 크롤링 - 1 https://thebook.io/ 더북(TheBook) thebook.io 길벗에서 제공하는 IT도서 열람 서비스인 `TheBook`이라는 사이트가 있다. 이렇게 주제별로 나눠져 있어, 한 페이지씩 넘기면서 책의 일부를 열람할 수 있다. 그런데 이전 페이지와 연결되는 경우 이전으로 다시 돌아가야 하는 불편함이 있다. 그래서 이 웹사이트를 크롤링해서, 내용을 html로 직접 가져온뒤 다시 웹페이지로 렌더링 해주는 서비스를 만들어 보려한다. TheBook의 URL은 아래와 같다. https://thebook.io/080212/ch01-01/ thebook.io 다음에 오는 URL은 책의 id이다. 그 다음 오는 URL은 책의 각 주제와 소주제를 의미한다. URL에 책의 id만 입력하여 접속하면, 이렇게 '.. 2020. 4. 1.
반응형