well-balanced

[TIL] 기록 18일차 본문

TIL : study log

[TIL] 기록 18일차

Cosmian 2019. 11. 18. 23:02

Today I Learned

  • node.js를 통해 csv, xlsx 문서 및 웹페이지 크롤링 하는 법을 배웠다. 그러나 아직 능숙하게 하지는 못하는 편. 여러가지 문서들을 뒤져가며 더 열심히 배워서 많은 것들을 실생활에 적용해보려고 노력할 것이다. 추후 따로 정리해서 포스트로 올릴 예정

    • XLSX

      const xlsx = require('xlsx') // xlsx 모듈 사용
      const meta = xlsx.readFile("xlsx/test.xlsx"); // test 파일 읽어옴
      const data = meta.Sheets.test // meta에 파일 내용, data에 파일의 test 시트에서 데이터 가져옴
      console.log(data)
      const jsondata = xlsx.utils.sheet_to_json(data); // xlsx.utils에 있는 메소드 sheet_to_json을 사용해 변수         data를 json으로 변환해 jsondata 변수에 담는다.
      console.log(jsondata)
    • CSV 파싱(JavaScript가 아닌 데이터를 해석할 수 있음)

      // $ npm i csv-parse
      const parse = require('csv-parse/lib/sync'); // csv parse 모듈 사용
      const fs = require('fs') // fs(fileSystem) 모듈 사용
      const csv = fs.readFileSync('csv/data.csv'); // dsv/data.csv 경로로 동기방식으로 파일 불러옴
      const records = parse(csv.toString('utf-8')); // 버퍼(0101)-->문자열 작업이 필요함
      records.forEach((r,i)=>{
      console.log(i,r) // r[0] 영화제목, r[1] 링크가 담겨있음
      });
  • 웹페이지 Crawling(Scraping)

    const axios = require('axios') // axios 모듈을 불러옴 http 요청을 보낼 수 있다
    const iconv = require("iconv-lite"); // 디코딩을 위한 모듈 iconv 모듈을 사용
    const cheerio = require('cheerio'); // cheerio 불러온 html 문서를 제이쿼리 문법으로 쓸 수 있게 만들어줌
    target_url = 'https://movie.naver.com/movie/bi/mi/basic.nhn?code=134963#'
    

 

  • 슬랙봇을 조금 개선했다. (아이콘, url 수정 등)

'TIL : study log' 카테고리의 다른 글

[TIL] 기록 20일차  (0) 2019.11.20
[TIL] 기록 19일차  (0) 2019.11.19
[TIL] 기록 17일차  (0) 2019.11.17
[TIL] 기록 16일차  (0) 2019.11.16
[TIL] 기록 15일차  (0) 2019.11.15
Comments