반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    웹 크롤링 테크닉 자바스크립트와 Node.js를 이용한

    원제 : JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック

    • 쿠지라 히코우즈쿠에 저
    • 이동규 역
    • 제이펍
    • 2016년 12월 30일
    • 정가
      30,000원
    • 판매가
      30,000원 [0% 할인]
    • 결제 혜택
      무이자
    • 적립금
      900원 적립 [3%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    • 배송구분
      업체배송(반디북)
    • 배송료
      무료배송
    • 출고예정일

      출고예정일 안내

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

      close

      2026년 10월 19일(월)

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

    수량
    회원리뷰
    - [0]
    ISBN: 9791185890661 516쪽 189 x 246 (㎜) 무선제본

    지금 이책은

    이 분야의 베스트셀러

    이 책이 속한 분야

    이 책은

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

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

    이 책에서 소개하는 기술이나 프로그램은 그대로 사용할 수 있는 것도 많지만, 약간 손을 봄으로써 보다 실용적인 툴이 될 수 있다. 이 책에서 소개하는 내용을 바탕으로 웹이나 업무 속 데이터에 묻혀 있는 보물을 발굴하기 바란다


     


    출판사 리뷰

    출판사 서평
    자바스크립트로 손쉽게 웹 크롤러를 만들고,
    수집한 데이터를 저장/처리하여 세련되게 시각화하고,
    쉽고 간단한 스트립트로 원하는 데이터를 모두 내려받자!
    이 책은 다양한 에이전트를 만들어 웹 데이터 수집과 처리를 자동화하는 방법을 소개한다. 우리가 익히 알고 있듯이 웹에는 유익한 데이터가 가득한데, 이러한 데이터를 체계적으로 수집하여 분석하고 활용하는 것은 즐거운 취미가 될 수도, 다양한 업무에 실질적인 도움이 될 수도 있을 것이다.
    이 책의 전반부를 통해 웹사이트를 순회하는 크롤러를 만들어 본인만의 데이터베이스를 구...
    자바스크립트로 손쉽게 웹 크롤러를 만들고,
    수집한 데이터를 저장/처리하여 세련되게 시각화하고,
    쉽고 간단한 스트립트로 원하는 데이터를 모두 내려받자!
    이 책은 다양한 에이전트를 만들어 웹 데이터 수집과 처리를 자동화하는 방법을 소개한다. 우리가 익히 알고 있듯이 웹에는 유익한 데이터가 가득한데, 이러한 데이터를 체계적으로 수집하여 분석하고 활용하는 것은 즐거운 취미가 될 수도, 다양한 업무에 실질적인 도움이 될 수도 있을 것이다.
    이 책의 전반부를 통해 웹사이트를 순회하는 크롤러를 만들어 본인만의 데이터베이스를 구축할 수 있게 될 것이다. 그런데 그렇게 모은 데이터를 어떻게 활용할지 몰라 묵혀 두기만 한다면 너무나 안타까운 일이 아닐 수 없다. 이 책에서는 수집뿐만 아니라 수집한 데이터를 검색하고, 필요한 데이터를 추출하고, 일정한 규칙을 통해 자동으로 분류하거나 예측하는 등 한 걸음 더 나아간 활용법을 제안한다. 이러한 기술들을 잘 응용하면 주식과 외환 매매에 참고할 트렌드 데이터를 얻을 수 있으며, 블로그 광고에 활용하여 수익률을 올리는 등 무궁무진한 활용이 가능하다.
    이 책의 대상 독자
    ● 자바스크립트를 보다 유용하게 활용하고자 하는 분
    ● 텍스트 데이터의 처리, 분류, 활용에 관심 있는 분
    ● 웹에 공개되어 있는 가치 있는 정보와 활용법을 알고자 하는 분
    이 책에서 사용하는 기술
    ● 머신러닝
    ● 문자 인식
    ● 형태소 분석
    ● 베이지안 필터
    ● GoogleCharts
    ● D3.js
    ● 각종 SNS의 웹 API
    ● HTML 파싱
    ● DOM 요소 추출
    ● PhantomJS/CasperJS
    ● Electron

    저자 소개

    쿠지라 히코우즈쿠에

    • 구분 : 저서
    • 국적 : 일본
    • 분류 : 과학/공학 저자 , 기타
    • 인기지수 : 213

    중학교 시절부터 취미로 하던 프로그래밍이 재미있어 다양한 것들을 만들다가 프로그래머가 되었다. 현재는 소프트웨어 기획 획사 '쿠지라한도'에서 '재미있고 도움되는 도구'를 주제로 윈도우, 안드로이드 등에서 동작하는 앱을 공개하고 있다. 대표작은 도레미로 작곡할 수 있는 음악 소프트웨어 '텍스트 음악 사쿠라'와 '일본어 기반 프로그래밍 언어 나데시코' 등이다. 2001년에는 온라인 소프트웨어 대상을 받았으며, 2004년 IPA 청소년부에서 슈퍼크리에이터로 인정을 받았고, 2010년에 OSS 공헌자 상을 수상했다. 프로그래밍의 즐거움을 전달하기 위해 매일 분투하고 있다.

    역자 소개

    이동규

    • 국적 : 대한민국
    • 분류 : 과학/공학 저자 , 기타
    • 인기지수 : 122

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

    책 속에서

     

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

    자바의 파일이나 네트워크 API는 데이터를 스트림으로 다룬다. 스트림은 데이터를 흐르는 것으로 간주하여 흘러 들어오는 데이터를 입력으로 다루고, 흘러 나가는 데이터를 출력으로 다룬다. 우리가 작성한 프로그램의 경우 스트림의 입력은 웹 서버에서 전송되는 데이터다. 그리고 스트림의 출력은 로컬 파일이다. 이처럼 스트림의 입구와 출구를 지정하면 단숨에 데이터를 읽고 쓴다. 여기까지의 내용을 프로그램을 통해 확인해 보자. _47p

    윈도우의 작업 스케줄러에서는 정기적으로 실행하는 처리를 ‘작업’이라고 부르며, 작업을 작성함으로써 정기적인 실행을 설정할 수 있다. 새로운 작업을 작성하려면 먼저 작업 스케줄러의 좌측 트리에서 [작업 스케줄러 (로컬)] 폴더를 클릭한다. 이어 오른쪽의 작업 패널에서 ‘작업 만들기’를 클릭한다. 그러면 작업 만들기 마법사가 실행된다. _91p

    Node.js의 표준 상태에서는 EUC-KR 등의 문자 코드를 다룰 수 없으므로 외부 모듈을 설치해야 한다. 문자 코드 변환에는 iconv라는 라이브러리가 널리 쓰이는데 Node.js에도 iconv 모듈이 존재한다. 또한, 문자 코드의 자동 판정용 모듈 jschardet도 있다. 여기서는 이 두 개의 라이브러리를 사용해 볼 것이다. 다음과 같이 npm을 사용하여 iconv와 jschardet을 설치하도록 한다. _151p

    좀 더 복잡한 작업을 자바스크립트로 수행하고 싶은 경우에는 자바 라이브러리의 힘을 빌리는 것이 좋다. 여기서는 자바 라이브러리인 Apache POI를 사용해 본다. Rhino/JavaScript에서는 자바의 라이브러리를 사용할 수 있다. Apache POI는 자바 라이브러리로, 마이크로소프트의 엑셀과 워드 파일을 자바에서 조작하기 위한 라이브러리다. Apache POI을 사용하면 엑셀과 워드가 설치되지 않은 PC에서도 엑셀/워드 파일을 읽고 쓸 수 있다. Apache POI는 다음 URL에서 다운로드할 수 있다. _239~240p

    목차

    목차
    제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 플리

    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

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

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)
    • 회사명 : (주)서울문고
    • 대표이사 : 김홍구
    • 개인정보 보호책임자 : 김홍구
    • E-mail : bandi_cs@bnl.co.kr
    • 소재지 : (06168) 서울 강남구 삼성로 96길 6
    • 사업자 등록번호 : 120-81-02543
    • 통신판매업 신고번호 : 제2023-서울강남-03728호
    • 물류센터 : (10881) 경기도 파주시 문발로 77 반디앤루니스
    copyright (c) 2016 BANDI&LUNI'S All Rights Reserved