본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 경품

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

쿠지라 히코우즈쿠에 지음 | 이동규 옮김 | 제이펍 | 2016년 12월 30일 출간
  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 통합포인트 :
    [기본적립] 1,500원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(21일,목) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내
장바구니 담기 바로구매

책 그리고 꽃 서비스
책 그리고 꽃 | 책과 꽃을 함께 선물하세요 자세히보기

닫기

바로드림 주문 선물하기 보관함 담기
이벤트도서포함, 5만원이상 구매시 택1 (그레이/네이비/카키 3종, 포인트 차감)
닫기
  • [초등학습] 계산력. 연산력. 독해력 이벤트
  • 인문교양 메인이벤트
  • 이벤트도서포함, 5만원이상 구매시 택1 (그레이/네이비/카키 3종, 포인트 차감)
  • 유리컵&티코스터 증정 월간 생활책방 6월호
  • 경제경영, 부자의 생각은 당신과 다르다
  • 2018 운전면허 시험 EVENT
  • [초등학습] EBS 만점왕 2학기 EVENT
  • 퀴즈응모 1천원혜택, 이달의 추천 새책 구매시 트래블노트 선택(택1), 댓글참여 시그니처향 추첨

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

  • Dev ReadIT 2018 행사도서 1권 이상 구매 시, 사은..
    2018.06.08 ~ 2018.07.15
  • IT 출판사와 함께하는 Dev ReadIT 2018!
    2018.05.16 ~ 2018.07.15
  • 프론트엔드 개발을 위한 약간의 가이드
    2018.02.02 ~ 2020.12.31
  • 제이펍의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
  • 리드잇 IT칼럼 및 예약판매중인 책을 한 곳에서 보실 수 있습니..
    2017.11.22 ~ 2018.12.31
  • 동료 개발자들의 책장을 살펴보세요 :)
    2017.08.31 ~ 2018.12.31
  • 웹개발 입문자를 위한 아주 약간의 가이드
    2017.07.11 ~ 2020.12.31
  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
  • 설문참여 시 매월 5명 추첨통해 선물을 드립니다.
    10. 14 ~ 12. 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... 더보기

출판사 서평

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

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

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

북로그 리뷰 (1) 전체보기 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트 적립은 작성 후 다음 날 혹은 해당 도서 출고 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 웹크롤링 이라하면 무언가 엄청 대단한, 아무나 하지 못하는 어려운 작업이라고 생각될 수 있지만.. 이 책은 웹 크롤링을 웹 데이터 수집부터 데이터 처리 저장, 및 형태소 분석 머신러닝까지, 가장 기초가되는 원리부터 응용까지 보다 친절하게 접근할 방법을 제시해 준다.   뿐만 아니라 크롤링 관련 테크닉 이외에도, 개발 생산성을 높여주는 에디터의 소개, electron과 coffee script, D3를 활용한 데이터 시각화, 데이터의 분류와 머신러닝에 관련된 내용까지... 자... 더보기

Klover 평점/리뷰 (0)

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

    교환/반품/품절안내

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

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

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

    이 분야의 베스트

    더보기+

    이 분야의 신간

    • 세스 스티븐스 다비도위츠
      16,200원
    • 오렐리앙 제롱
      29,700원
    • 김문권
      22,500원
    • 김용환
      25,200원
    • 알렉산더 A. 스테파노프
      23,400원
    더보기+

    바로가기

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

    최근 본 상품