티스토리 뷰
node.js에서 request와 cheerio로 아주 간단하게 웹페이지를 크롤링해서 원하는 정보를 얻을 수 있다.
request 샘플 코드에서 내용만 살짝 바꿔서 네이버에서 실시간 검색어를 받아와서 출력해주는 프로그램을 만들어 보자.
const request = require('request');
const cheerio = require('cheerio');
const options = {
url: 'https://www.naver.com',
headers: {
'User-Agent': 'request'
}
};
const callback = ((error, response, body) => {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(body);
const search = $('.ah_roll_area > .ah_l > .ah_item > a > .ah_k');
search.each((index, item) => {
console.log(`${index + 1} - ${$(item).text()}`);
});
}
});
request(options, callback);
request로 네이버 메인 페이지 내용을 받아와서 cheerio로 그 내용을 읽은 후 selector를 이용해서 실시간 검색어 부분만 파싱을 한다.
실행 결과
$ node naver.js
1 - 크릴 오일
2 - 안드레아 보첼리
3 - 가려진 시간
4 - 말레피센트
5 - 고파도
6 - 월요일이 사라졌다
7 - 서수연
8 - 베트남 북한
9 - 이필모
10 - 전홍준박사
11 - 인턴
12 - 눈이 부시게
13 - 지금 만나러 갑니다
14 - 곽동연
15 - 범블비 쿠키영상
16 - 콩 스컬 아일랜드
17 - 라이브 에이드
18 - 이일재
19 - 북한 베트남
20 - 신과함께
다음에는 네이버 주식에서 내용을 크롤링해서 맞춤형 페이지를 만들어 봐야 겠다.
반응형
'node.js' 카테고리의 다른 글
heroku에서 timezone 설정하기 (1) | 2019.04.25 |
---|---|
sequelize에서 array rows update하기 (4) | 2018.09.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- visutal studio
- Heroku
- Linux
- 오프라인설치
- test 연산자
- Docker
- Jenkins
- vim
- Notion
- namecheap
- docker-compose
- 공백문자
- 노션
- 쉘스크립트
- java
- aws
- vs community
- git
- SSH
- Mac
- Slack
- 구글캘린더공유
- 쉘프로그래밍
- material dark
- MySQL
- 트래비스 암호화
- nodejs
- Bash
- scp
- 트래비스 슬랙 연동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함