본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

Node.js/Node.js Basic7

[Node.js] request, cheerio를 이용한 웹크롤링 이번 포스팅에서는 Node.js에서 request, cheerio 모듈을 이용하여, 백준 온라인 저지 사이트에 있는 특정 문제들의 정답률 데이터를 모두 긁어와서 평균까지 계산해주는 크롤링 봇 구현에 대해 다룰 것이다. 지나친 크롤링은 웹사이트에 트래픽을 줄 수 있으므로 가볍게 모든문제 1페이지에 있는 문제번호 1000~1099까지 총 100문제의 정답률 데이터들만 추출해보자. 프로젝트 폴더 내에 request, cheerio 모듈을 설치해줘야 한다. npm install request --save npm install cheerio --save html코드를 가져오고 싶은 사이트의 url을 request의 매개변수에 넣고, let $ = cheerio.load(body) 로 html코드를 최종적으로 세팅.. 2020. 10. 21.
[Node.js] 객체를 파일 단위로 관리하기 객체를 파일 단위로 관리하면 유지보수에 큰 도움이 된다. 파일화의 유무에 따른 차이점을 명확히 확인하려면 아래 소스 코드의 if(_url =='/')문에 집중하면 된다. 이 if문 안의 내용 외에는 달라진 것이 없다. var http = require('http'); var fs = require('fs'); var qs = require('querystring'); var app = http.createServer(function(request,response){ var _url = request.url; if(_url == '/'){ var template=` `; response.writeHead(200); response.end(template); } else if(_url=='/favicon.i.. 2020. 10. 19.
[Node.js] 파일 삭제 CRUD에서 C(생성),R(읽기),U(업데이트) 는 아래 포스팅에서 다뤘다. kimcoder.tistory.com/150 [Node.js] 파일생성/파일명변경, redirection 맨 밑에 첨부한 소스 코드에서, 해당하는 부분에 주석으로 표시해두었으므로 참고하면 된다. 1. 파일 생성 부분 웹사이트에서 writefile 링크를 누르면 number디렉토리에 FOUR 이라는 이름의 텍스트 �� kimcoder.tistory.com CRUD의 마지막 D에 해당하는 삭제를 다뤄볼 것이다. 소스 코드는 평소와 같이 맨 밑에 첨부하였다. 로컬 웹페이지에서 title이라고 쓰여있는 텍스트에 삭제하고자 하는 파일명을 입력하고, delete 버튼을 누르면 number디렉토리에 있는 해당 파일이 삭제되는 소스 코드를 작.. 2020. 10. 15.
[Node.js] 파일생성/파일명변경, redirection 맨 밑에 첨부한 소스 코드에서, 해당하는 부분에 주석으로 표시해두었으므로 참고하면 된다. 1. 파일 생성 부분 웹사이트에서 writefile 링크를 누르면 number디렉토리에 FOUR 이라는 이름의 텍스트 파일이 생성된다. 텍스트 파일에는 'NUMBER FOUR' 이라는 내용이 있다. 2. 파일 편집 부분 웹사이트에서 rename을 누르면 파일명이 FOUR에서 FOUR4로 바뀌며 내부 내용은 "NUMBER FOUR edited by kimcoder" 으로 변경 된다. 3. redirection 부분 웹사이트에서 redirection 링크를 누르면 이 블로그의 홈으로 이동한다. 정확히 말하면, /writefile_test 페이지로 가서 https://kimcoder.tistory.com/ 으로 이동한 것.. 2020. 10. 14.
[Node.js] URL의 query string 추출 (POST방식) Form으로 데이터를 통신하는 방법에는 GET방식, POST방식이 있다. GET : 기본값이며, query string이 url에 표시된다. POST : query string이 url에 표시되지 않는다. 감춰야 하는 정보를 전송할 때에 POST방식을 권장한다. GET방식으로 전송받은 query string을 추출하는 방법에 대해 이전에 올렸던 포스팅이다. [Node.js] URL의 query string 추출 (GET방식) Nodejs은 서버 환경에서 자바스크립트로 애플리케이션을 만들 수 있게 해주는 프레임워크이다. 아래 사진을 보면 URL은 http://localhost:3000/?name=kimcoder&age=23 인 것을 볼 수 있다. 클라이언트 쪽에서는 kimcoder.tistory.com 포.. 2020. 10. 13.
[Node.js] 파일 조회/읽기/parse (File path 간단 설명) 1. 파일 조회 fileread.js에 대한 설명 number의 폴더에 있는 파일들의 목록을 확인하려고 한다. number폴더는 fileread.js의 상위 폴더에 있으므로 폴더 경로를 '../number' 로 지정한다. 그리고 파일시스템 모듈을 가져온 후, readdir함수로 다음과 같이 해당 폴더의 파일 이름 리스트를 배열로 반환시켜준다. var f = '../number'; var fs = require('fs'); fs.readdir(f,(error,filelist)=>{console.log(filelist)}); 2. 텍스트 파일 읽기 fileread.js 에 대한 설명 require('fs') 로 파일 시스템 모듈을 가져온다. readFile함수로 인해 lable.txt에 있는 텍스트가 dat.. 2020. 10. 6.
[Node.js] URL의 query string 추출 (GET방식) URL 구성요소 ex) http://localhost:3000/?name=kimcoder&age=23 http : protocol, 통신규약 localhost : host(domain) :3000 : 포트넘버, 생략시 80번 ?name=kimcoder&age=23 : query string, 서버에 전달되는 데이터이다. '?'으로 시작하며 '&'를 경계로 변수명=값 형태로 들어오게 되는데, 이 쿼리 스트링은 name,age 라는 2개의 변수가 각각 kimcoder, 23이라는 값을 가지고 온 것이다. var http = require('http'); var fs = require('fs'); var url = require('url'); var app = http.createServer(function(.. 2020. 10. 5.