1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| const axios = require('axios'); const cheerio = require('cheerio');
let title = '';
let pageNum = 1;
const run = (callback) => { axios.get('https://delryn.herokuapp.com/paging', { params: { page: Number(pageNum), }, }) .then((res) => { const $ = cheerio.load(res.data); const table = $('table > tbody > tr > td'); if (pageNum > 3) { callback(); } else { table.each((idx, item) => { if (idx % 2 === 0) { title += `${$(item).text()}\n`; } }); pageNum += 1; run(callback); } }) .catch((err) => { callback(err); }); };
run((err) => { if (err) { console.log(err); } else { console.log(title); } });
|
정리하자면 http client로 웹 페이지(HTML)을 읽어서 jQuery로 원하는 데이터 정리를 한다.
이러한 걸 웹 크롤링이라고 한다. node.js에서 jQuery 문법을 쓸 일이 잇을줄이야..