본문내용 바로가기
MD의선택 무료배송 이벤트 소득공제

자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉 수집 저장 분석에서 머신러닝까지

쿠지라 히코우즈쿠에 지음 | 이동규 옮김 | 제이펍 | 2016년 12월 30일 출간
클로버 리뷰쓰기
  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 통합포인트 :
    [기본적립] 1,500원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    08월 10일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 개발자로 입문하기: 일단 이것부터 읽어보자!
    2019.05.31 ~ 2020.12.31
  • 프론트엔드 개발을 위한 약간의 가이드
    2018.02.02 ~ 2020.12.31
  • 제이펍의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2020.12.31
  • 웹개발 입문자를 위한 아주 약간의 가이드
    2017.07.11 ~ 2020.12.31
  • 개발자님, 인터넷교보 IT분야 부캐 '리드잇'..
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9791185890661(1185890661)
쪽수 516쪽
크기 189 * 246 * 30 mm /1011g 판형알림
원서명/저자명 JS+Node.jsによるWebクロ?ラ?/ネットエ?ジェント開?テクニック/クジラ飛行机

책소개

이 책이 속한 분야

[자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉]은 자바스크립트의 기본을 알고 있는 독자나 프로그래밍 중급자를 대상으로 한다. 언어와 상관없이 초급에서 중급 수준의 독자가 읽으면 반드시 큰 도움이 될 것이다. 게다가 웹을 대표하는 언어인 자바스크립트를 사용하므로 코드를 이해하기 쉽고 수정하기에도 쉽다.

책에서 소개하는 기술이나 프로그램은 그대로 사용할 수 있는 것도 많지만, 약간 손을 봄으로써 보다 실용적인 툴이 될 수 있다. 자바스크립트로 손쉽게 웹 크롤러를 만들고, 수집한 데이터를 저장/처리하여 세련되게 시각화하고, 쉽고 간단한 스트립트로 원하는 데이터를 모두 내려받자. 이 책에서 소개하는 내용을 바탕으로 웹이나 업무 속 데이터에 묻혀 있는 보물을 발굴할 수 있을 것이다.

상세이미지

웹 크롤링 테크닉(자바스크립트와 Node.js를 이용한) 도서 상세이미지

저자소개

저자 : 쿠지라 히코우즈쿠에

저자가 속한 분야

저자 쿠지라 히코우즈쿠에(クジラ飛行机)는 책을 기획하고, 편집하고, 디자인하는 프로덕션이며, 스마트폰, 웹 서비스, 프로그래밍, 웹 디자인 등 IT와 관련된 서적을 주로 진행하고 있다.

역자 : 이동규

역자 이동규는 서강대학교와 서울대학교 대학원에서 컴퓨터학을 공부했다. 6년간 웹 개발과 빅 데이터 분석 업무를 담당했으며, 현재는 LG전자 클라우드센터 스마트데이터 팀에서 빅 데이터 엔지니어로 일하고 있다. AWS를 주로 활용하여 크롤링과 분산 처리, 가시화를 위한 웹 서비스 등을 만들었으며, 빅 데이터와 대규모 요청을 모두 다룰 수 있는 데브옵스 풀 택 소프트웨어 엔지니어가 되기 위해 노력하고 있다.

목차

제1장 개발 환경 1
01 자바스크립트 엔진의 이모저모 _ 2
ECMAScript가 실현한 범용 자바스크립트의 세계 _ 2
자바스크립트 엔진의 이모저모 _ 3
자바스크립트가 데이터 수집에 적합한 이유 _ 6
02 에이전트란 무엇인가? _ 8
에이전트의 의미 _ 8
지능형 에이전트 _ 9
03 개발 환경 구축 _ 11
가상 머신에 실행 환경 구축 _ 11
가상 머신 생성 _ 12
가상 머신에 로그인하기 _ 16
Node.js 설치 _ 19
git 설치 _ 21
04 Node.js 모듈 설치 _ 24
npm이란? _ 24
npm install로 모듈 설치 _ 24
모듈 삭제 _ 30
05 개발 생산성을 높여 줄 모던한 에디터 소개 _ 31
자바스크립트 작성에 필요한 에디터는? _ 31
Atom ― 풍부한 플러그인이 매력 _ 32
Sublime Text ― 환상적인 커스터마이징 기능으로 사랑에 빠지게 된다는 화제
Brackets ― HTML 편집에 특화된 빛나는 에디터 _ 36
통합 개발 환경에서의 자바스크립트 개발 _ 38
WebStorm ― 자바스크립트 개발에 특화된 개발 환경 _ 39
NetBeans ― 자바 뿐만 아니라 다양한 웹 개발 언어를 지원 _ 40

제2장 웹 데이터 수집 41
01 웹 페이지 다운로드 _ 42
가장 간단한 다운로드 방법 _ 42
Node.js로 다운로드해 보자 _ 42
Rhino/Narshon으로 다운로드해 보기 _ 46
02 HTML 해석(링크와 이미지 추출) _ 48
스크래핑이란? _ 48
HTML 파일 다운로드 _ 49
HTML 파일에서 링크 추출 _ 51
이미지 파일 추출 _ 55
03 사이트를 통째로 다운로드 _ 61
통째로 다운로드하는 이유 _ 61
프로그램을 만들어 보자 _ 62
04 XML/RSS 해석 _ 69
XML이란? _ 69
Node.js에서 XML을 다루는 방법 _ 71
RSS란? _ 76
XML/RSS 파싱에 cheerio-httpcli를 사용하는 방법 _ 79
05 정기적으로 다운로드 _ 82
정기적인 처리를 수행 _ 82
환율의 변동을 확인하는 API 사용 _ 83
리눅스/Mac OS X의 경우 _ 85
윈도우의 경우 _ 90

제3장 로그인이 필요한 웹사이트 크롤링 95
01 PhantomJS와 CasperJS _ 96
PhantomJS와 CasperJS에 관하여 _ 96
PhantomJS와 CasperJS 설치 _ 98
간단한 예제 프로그램 _ 99
플리커 이미지 검색 결과 캡처하기 _ 103
아이폰용 웹사이트 화면 캡처 _ 105
인자로 지정한 페이지를 캡처하는 도구 작성 _ 106
02 로그인 후의 데이터를 다운로드 _ 109
로그인이 필요한 경우 _ 109
티스토리에 로그인하기 _ 109
마우스 클릭 _ 113
03 DOM 파싱 방법과 CSS 선택자 _ 115
웹 브라우저의 개발자 도구 사용법 _ 115
CSS 선택자 지정 방법 _ 118
CSS 선택자 실전편 _ 120
04 Electron으로 데스크톱 애플리케이션 작성 _ 124
Electron이란? _ 124
Electron 설치 방법 _ 127
Electron으로 간단한 애플리케이션을 만드는 순서 _ 127
직접 준비한 HTML을 Electron에 표시 _ 130
메인 프로세스와 렌더링 프로세스 간의 통신 _ 132
05 Electron으로 스크린 캡처 _ 138
스크린샷을 찍는 제일 빠른 방법 _ 138
Electron으로 스크린샷을 찍는 방법 _ 138
미세한 조정을 위해 딜레이 주기 _ 142
캡처할 범위를 지정 _ 144

제4장 데이터 처리 및 저장 147
01 문자 코드와 호환 _ 148
문자 코드란? _ 148
자바스크립트의 문자 코드 _ 150
Node.js의 경우 _ 150
iconv-lite를 사용한 문자 코드 변환 _ 155
Rhino를 사용하는 경우 _ 156
02 정규 표현식을 사용한 데이터 변환 _ 157
정규 표현식이란? _ 157
자바스크립트에서의 정규 표현식 사용법 _ 158
03 데이터 형식의 기초 _ 166
웹에 있는 데이터 형식 _ 166
JSON 형식이란? _ 167
JSON의 개량판, JSON5 형식 _ 170
CSON 형식 _ 172
XML/RSS 형식 _ 174
YAML 형식 _ 177
INI 파일 형식 _ 181
CSV/TSV 파일 형식 _ 184
그 외의 형식 _ 188
04 커피스크립트 _ 190
왜 커피스크립트인가? _ 190
커피스크립트 설치 _ 191
프로그램 실행 방법 _ 191
커피스크립트의 기본 문법 _ 192
참과 거짓 _ 195
배열 _ 196
연산자 _ 197
제어 구문 _ 199
함수 작성 _ 203
객체지향 _ 206
05 데이터베이스 사용법 _ 210
왜 데이터베이스를 사용하는가? _ 210
관계형 데이터 모델과 NoSQL _ 210
관계형 데이터베이스 SQLite3 사용 _ 211
웹으로부터 다운로드하여 SQLite에 저장 _ 213
NoSQL LevelDB를 사용 _ 217
데이터를 LevelDB에 보관 _ 223
06 리포트 자동 생성 _ 227
리포트 자동 생성 _ 227
출력 형식 _ 228
PDF 작성 _ 230
엑셀 형식으로 작성 _ 238
Node.js + Ocegen 사용법 _ 238
Rhino와 Apache POI 사용법 _ 239
웹 API로 획득한 값을 엑셀에 쓰기 _ 242

제5장 한글 형태소 분석 245
01 형태소 분석에 관하여 _ 246
형태소 분석이란? _ 246
형태소 분석을 이용하는 방법 _ 247
mecab-ko의 설치 _ 248
02 특정 품사의 단어들을 추출 _ 251
Node.js에서 mecab-ko를 사용하는 방법 _ 251
프로그램을 정리하여 형태소 분석 모듈 작성 _ 254
특정 품사의 단어들을 추출하는 프로그램 _ 257
03 마르코프 체인을 이용한 문서 요약 _ 260
마르코프 체인을 이용한 문서 요약 _ 260
프로그램에 관하여 _ 264
04 간단한 문장 교정 도구 작성 _ 266
문장 교정 도구에 관하여 _ 266
05 단어의 출현 빈도 조사 _ 271
단어의 출현 빈도 조사 _ 271

제6장 크롤링을 위한 데이터 소스 277
01 유익한 데이터 소스 목록 _ 278
데이터 소스에 관하여 _ 278
SNS의 활용 _ 278
소셜 북마크 활용 _ 279
상품 정보 활용 _ 279
온라인 사전의 활용 _ 280
오프라인 사전 데이터 활용 _ 280
블로그 서비스 활용 _ 281
02 트위터 크롤링 _ 283
트위터란? _ 283
트위터 API 준비 _ 283
03 페이스북 _ 289
페이스북이란? _ 289
페이스북 API _ 289
04 네이버 API 사용 _ 297
네이버 API _ 297
05 아마존 API 사용 _ 302
아마존의 상품 정보 _ 302
API를 위한 개발자 계정 생성 _ 303
아마존의 도서 정보 검색 _ 308
06 플리커의 사진 다운로드 _ 311
플리커란? _ 311
API 키 획득 _ 312
플리커 API를 사용하는 프로그램 제작 _ 314
07 유튜브 동영상 다운로드 _ 319
유튜브란 무엇인가? _ 319
youtube-dl 설치 _ 320
유튜브 검색 _ 322
동영상을 검색하고 다운로드 _ 328
08 Yahoo! Finance에서 환율 및 주식 정보 수집 _ 331
Yahoo! Finance _ 331
FX·환율 정보 취득 _ 332
주가 정보 취득 _ 336
09 위키피디아 다운로드 _ 339
위키피디아란? _ 339
위키피디아의 타이틀 데이터베이스 만들기 _ 343
타이틀 데이터베이스 활용 _ 346

제7장 데이터의 분류, 예측과 머신러닝 351
01 데이터의 활용법에 관하여 _ 352
데이터를 어떻게 활용할 것인가? _ 352
데이터 마이닝이란? _ 352
데이터 마이닝의 기본은 예측, 분류, 연관 규칙 추출 _ 353
데이터 마이닝의 순서 _ 354
대표적인 데이터 마이닝 기법 _ 355
02 베이지안 필터를 활용한 분류 _ 356
베이지안 필터란? _ 356
나이브 베이즈 분류 알고리즘 _ 357
베이지안 필터 라이브러리 _ 359
03 이동 평균을 이용한 예측과 그래프 작성 _ 364
수요 예측에 관하여 _ 364
단순 이동 평균에 관하여 _ 365
지수 평활법에 관하여 _ 374
04 채팅 봇과 대화하기 _ 379
채팅 봇 _ 379
여기서 만들 채팅 봇 _ 380
05 서포트 벡터 머신으로 문자 인식(전편) _ 395
서포트 벡터 머신이란? _ 395
문자 인식에 도전 _ 397
06 서포트 벡터 머신으로 문자 인식(후편) _ 409
node-svm 사용법 _ 409
손으로 쓴 문자를 인식하는 프로그램 만들기 _ 411
잘못 인식하는 문제 해결 _ 420

제8장 데이터 시각화와 응용 427
01 구글 차트를 이용한 차트 작성 _ 428
구글 차트란? _ 428
파이 차트 그리기 _ 429
막대 그래프 그리기 _ 432
선 그래프 그리기 _ 434
차트의 종류와 매뉴얼 _ 437
02 D3.js로 자유도 높은 차트 작성 _ 440
D3.js ― 데이터 기반 도큐먼트 생성 라이브러리 _ 440
D3.js 설치 _ 441
막대 그래프 그리기 _ 442
막대 그래프의 스케일 자동 계산 _ 445
막대 그래프에 눈금 그리기 _ 446
꺾은선 그래프 그리기 _ 449
03 D3.js로 지도 그리기 _ 455
지도 정보 그리기 _ 455
TopoJSON으로 지도 데이터 표시 _ 456
지도 데이터 내려받기 _ 456
데이터 형식 변환 _ 457
D3.js로 대한민국 지도 그리기 _ 459
04 D3.js에서 파생된 라이브러리 _ 463
D3.js를 기반으로 개발된 라이브러리 _ 463
NVD3.js에 관하여 _ 464
C3.js 사용하기 _ 469

부록1 윈도우나 Mac OS X에 개발 환경 구축 475
Node.js 설치 _ 476
Rhino 설치 _ 478
Nashorn 설치 _ 480

부록2 HTML/XML의 PATH 파싱을 간단하게 수행 483
테이블 내의 정보 가져오기 _ 489
cheerio 마무리 _ 490

책 속으로

구매 봇이라고도 불린다. 사용자가 인터넷에서 상품이나 서비스를 발견하는 것을 도와주는 에이전트다. 예를 들면, 아마존에서 쇼핑할 때 페이지 밑에 유사 상품들이 표시된다. 이것은 그 페이지를 본 다른 사용자가 구매한 상품이나, 사용자가 본 다른 상품의 경향 정보를 이용한 것이다. 전문점의 점원이라면 손님의 이야기를 듣고 손님에게 딱 맞는 상품을 선택해 준다. 약사는 손님의 증상을 듣고 맞는 약을 추천해 준다. 이와 마찬가지로 바이어 에이전트도 사용자의 취향을 고려해서 상품을 추천해 준다. _9p

자바의 파일이나 네트워크 API... 더보기

출판사 서평

자바스크립트로 손쉽게 웹 크롤러를 만들고,
수집한 데이터를 저장/처리하여 세련되게 시각화하고,
쉽고 간단한 스트립트로 원하는 데이터를 모두 내려받자!

이 책은 다양한 에이전트를 만들어 웹 데이터 수집과 처리를 자동화하는 방법을 소개한다. 우리가 익히 알고 있듯이 웹에는 유익한 데이터가 가득한데, 이러한 데이터를 체계적으로 수집하여 분석하고 활용하는 것은 즐거운 취미가 될 수도, 다양한 업무에 실질적인 도움이 될 수도 있을 것이다.

이 책의 전반부를 통해 웹사이트를 순회하는 크롤러를 만들어 본인만의 데이터베이스를 구... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 해당도서의 리뷰가 없습니다.

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

스토리K 2건의 스토리K가 있습니다.

    교환/반품/품절안내

    ※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

    교환/반품/품절안내
    반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
    [1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

    ※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
        또는 고객센터 (1544-1900)
    반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
    상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      (단지 확인을 위한 포장 훼손은 제외)
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 화장품, 식품, 가전제품(악세서리 포함) 등
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
      해당되는 경우
    (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
    상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
    이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함

    바로가기

    • 우측 확장형 배너 2
    • 우측 확장형 배너 2

    최근 본 상품