티스토리 뷰

반응형


.NPM


- NPM(Nodejs package manager)은 모듈 공유 관리를 위한 플랫폼



.NPM 초기화


- npm 을 활용하기 위해  npm init  으로 초기 세팅 필요


- npm init 작업이 끝나면 package.json 이라는 파일이 생성되는데, 이 파일은 모듈 의존성을 포함



.모듈 서칭


NPM 홈페이지에서 사용할 모듈 검색(https://www.npmjs.com/)



.request 모듈 테스트


- 사라질..? 모듈이라서 request를 검색하면 나오진 않는다.(링크서 확인)

- module page에 들어가면 친절하게 install 방법도 알려준다.

- 터미널에 npm i request를 입력하여 모듈 설치 (npm install request과 동일)


아래와 같이 설치해보자.


모듈을 설치하면 node_modules 디렉토리가 생성되면서 모듈에 관련된 파일들이 저장된다.

다양한 모듈을 사용하게 되면 node_modules에 저장되는 파일들도 많아지므로 용량이 커지고 무거워진다.

모듈을 사용하지 않을 때, node_modules 디렉토리를 지워줘도 무방하다.


package.json에 자신이 설치한 모듈의 정보가 모두 저장되어있어서

node_modules가 지워진 상태라면

 npm install 로 그동안 설치했던 모듈들을 한꺼번서 다시 받을 수 있다.




.request 모듈 사용해기

module page를 보면 기본적인 example이 나와있다.


간단하게 적용해보면

request한 페이지의 body 정보를 가져올 수 있다.

네이버 메인에는 데이터가 많아서 console에 데이터가 다라라라락 출력될 것이다..ㅋㅋ

1
2
3
4
5
6
const request = require('request');
request('https://www.naver.com/'function (error, response, body) {
  console.error('error:', error); // Print the error if one occurred
  // console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
  console.log('body:', body); // Print the HTML for the Google homepage.
});
cs



기상청에서 날씨 데이터를 request 해보자.

마찬가지로 다라라라락 많은 데이터가 출력될 것이다. 

1
2
3
4
5
6
const request = require('request');
 
request('https://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp'function (error, response, body) {
    var xml = body;
    console.log(body)
});
cs


여기서 기상전망 데이터만 추출해보자.


     

원하는 데이터를 추출하기 위해서 태그를 잘 타고 들어가야 한다.

원하는 데이터가 어디에 있는지 우선 태그를 타고 들어가보자.


1
2
3
4
5
6
7
8
9
10
const request = require('request');
var parseString = require('xml2js').parseString;
 
request('https://www.weather.go.kr/weather/forecast/mid-term-rss3.jsp'function (error, response, body) {
    var xml = body;
 
    parseString(xml, function (err, result) {
        console.dir(result.rss.channel[0].item[0].description[0].header[0].wf[0]);
    });
});
cs




반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday