간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (23,760원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (21,600원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (24,300원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (25,110원)
(최대할인 3만원 / 3만원 이상 결제)
Close

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

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

2013년 9월 9일 이후 누적수치입니다.

판매지수 954
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(3)

책소개

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

출판사 서평

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


이 책의 전반부를 통해 웹사이트를 순회하는 크롤러를 만들어 본인만의 데이터베이스를 구축할 수 있게 될 것이다. 그런데 그렇게 모은 데이터를 어떻게 활용할지 몰라 묵혀 두기만 한다면 너무나 안타까운 일이 아닐 수 없다. 이 책에서는 수집뿐만 아니라 수집한 데이터를 검색하고, 필요한 데이터를 추출하고, 일정한 규칙을 통해 자동으로 분류하거나 예측하는 등 한 걸음 더 나아간 활용법을 제안한다. 이러한 기술들을 잘 응용하면 주식과 외환 매매에 참고할 트렌드 데이터를 얻을 수 있으며, 블로그 광고에 활용하여 수익률을 올리는 등 무궁무진한 활용이 가능하다.

이 책의 대상 독자
- 자바스크립트를 보다 유용하게 활용하고자 하는 분
- 텍스트 데이터의 처리, 분류, 활용에 관심 있는 분
- 웹에 공개되어 있는 가치 있는 정보와 활용법을 알고자 하는 분

이 책에서 사용하는 기술
- 머신러닝
- 문자 인식
- 형태소 분석
- 베이지안 필터
- GoogleCharts
- D3.js
- 각종 SNS의 웹 API
- HTML 파싱
- DOM 요소 추출
- PhantomJS/CasperJS
- Electron

목차

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

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

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

제4장 데이터 처리 및 저장
01 문자 코드와 호환
문자 코드란?
자바스크립트의 문자 코드
Node.js의 경우
iconv-lite를 사용한 문자 코드 변환
Rhino를 사용하는 경우
02 정규 표현식을 사용한 데이터 변환
정규 표현식이란?
자바스크립트에서의 정규 표현식 사용법
03 데이터 형식의 기초
웹에 있는 데이터 형식
JSON 형식이란?
JSON의 개량판, JSON5 형식
CSON 형식
XML/RSS 형식
YAML 형식
INI 파일 형식
CSV/TSV 파일 형식
그 외의 형식
04 커피스크립트
왜 커피스크립트인가?
커피스크립트 설치
프로그램 실행 방법
커피스크립트의 기본 문법
참과 거짓
배열
연산자
제어 구문
함수 작성
객체지향
05 데이터베이스 사용법
왜 데이터베이스를 사용하는가?
관계형 데이터 모델과 NoSQL
관계형 데이터베이스 SQLite3 사용
웹으로부터 다운로드하여 SQLite에 저장
NoSQL LevelDB를 사용
데이터를 LevelDB에 보관
06 리포트 자동 생성
리포트 자동 생성
출력 형식
PDF 작성
엑셀 형식으로 작성
Node.js + Ocegen 사용법
Rhino와 Apache POI 사용법
웹 API로 획득한 값을 엑셀에 쓰기

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

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

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

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

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

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

본문중에서

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

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

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

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

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

관련이미지

저자소개

쿠지라 히코우즈쿠에 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

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

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

도쿄에 살면서 라인재팬의 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 번역한 책으로는 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》과 《처음 만나는 파이썬》이 있다.

리뷰

0.0 (총 0건)

기대평

작성시 유의사항

평점
0/200자
등록하기

기대평

9.3

교환/환불

교환/환불 방법

‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

교환/환불 가능 기간

고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

교환/환불 비용

고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

교환/환불 불가사유

반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

소비자 피해보상

소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

기타

도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

배송안내

  • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

  • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

  • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

  • 배송비

도서(중고도서 포함) 구매

2,000원 (1만원이상 구매 시 무료배송)

음반/DVD/잡지/만화 구매

2,000원 (2만원이상 구매 시 무료배송)

도서와 음반/DVD/잡지/만화/
중고직배송상품을 함께 구매

2,000원 (1만원이상 구매 시 무료배송)

업체직접배송상품 구매

업체별 상이한 배송비 적용