await getHTHL(url, keyword);를 호출하게 되면 전체 HTML코드를 가지고 올수 있게 되고, 여기서 cheerio.load(html.data); 이와 같이 함수안에 인자로 data를 넣으면 이제 jQuery처럼 DOM을 조작 할수 있습니다. 사용할수 있습니다. 👇👇
const inflearn = require('./models/inflearn');
...
...
const parsing = async (url, keyword) => {
const html = await getHTHL(url, keyword);
const $ = cheerio.load(html.data);
const $coursList = $('#courses_section > div > div > div > main > div.courses_container > div > div');
$coursList.each((idx, el) => {
...
const dataCheckout = new inflearn({
title,
instructor,
price: [{del:price_del, pay:price_pay}],
rating,
img
})
dataCheckout.save();
});
}
그리고 new inflearn라고 인스턴스를 생성했는데 이것은 mongoose를 이용해서 스키마를 정의 했기 때문 입니다. dataCheckout라고 변수에 담아서 DB에 저장합니다.
mongoose를 이용해서 스키마를 정의하고 타입을 체크합니다. (크롤링할때는 굳이 할필요 없다고 생각하는데 연습삼아서 해본것 입니다~)