190423 TIL 프로젝트 - 크롤링 && 웹
Apr 23, 2019
»
1막,
TIL (Today I Learned)
크롤링
- 영화관 상영시간표 데이터가 필요한데 모든 영화관에서 api를 제공하지 않았다. 그래서 크롤링 밖에 답이 없다는 결론을 내렸고, 지난 주에 노드로 샘플 크롤링을 해보았다.
const axios = require("axios");
const cheerio = require("cheerio");
const log = console.log;
const getHtml = async () => {
try {
return await axios.get("http://www.cgv.co.kr/common/showtimes/iframeTheater.aspx?areacode=01&theatercode=0056&date=20190418");
} catch (error) {
console.error(error);
}
};
getHtml()
.then(html => {
let ulList = [];
const $ = cheerio.load(html.data);
const $bodyList = $("div.info-timetable ul").children("li");
$bodyList.each(function(i, elem) {
ulList[i] = {
screen: $(this).find('a').attr('data-screenkorname'),
time: $(this).find('a').attr('data-playstarttime')
};
});
const data = ulList.filter(n => n.time);
return data;
})
.then(res => log(res));
-
근데 여기서도 태그가 iframe으로 감싸져 있어서 영화마다 개별 url를 어떻게 따올 것인지 연구해봐야한다.
-
그리고 가장 큰 문제는 노드를… 아무도 할 줄 모른다는 것..ㅎㅎ 노드야 뭐 js니까 문법을 쓸수는 있지만 어떻게 구현해야 하는지 감이 안왔다. 웹에서 노드는 안돌아가고.. 어떻게 해야할 것인가!
-
차근차근 문제를 해결해보기로 했다.
- 크롤링을 노드로 할 것인가? 파이썬으로 할 것인가? -> 노드
- 노드로 크롤링을 했을 때 필요한 지식은 무엇인가? -> 크롤링한 데이터 핸들링을 어떻게 해야 하는가
- 크롤링한 데이터 핸들링에 필요한 것은 무엇인가? -> 노드 서버 구축?? 번들링??
-
3번째 문제를 차근차근 해결해보고 있다.. 차근 차근 차근 차근…
-
참고 사이트
웹
공부하다보니 어떻게인진 모르겠으나 웹까지 공부하고 있었다. 팀 버너스리… 1989에 WWW 발명…