메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

파이썬으로 웹 크롤러 만들기(2판) : 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법

한빛미디어

번역서

판매중

  • 저자 : 라이언 미첼
  • 번역 : 한선용
  • 출간 : 2019-03-29
  • 페이지 : 356 쪽
  • ISBN : 9791162241639
  • 물류코드 :10163
초급 초중급 중급 중고급 고급
4.8점 (4명)
좋아요 : 0

웹 어디서든 내가 원하는 데이터를 쏙쏙쏙 

 

웹에 존재한다면 그것이 어떤 형태이든 데이터로 추출할 수 있다. 필요한 무기는 이 책과 파이썬뿐. BeautifulSoup, 셀레니움, 테서랙트 등 강력한 파이썬 라이브러리 사용법과 함께 API, 인증, 이미지 및 텍스트 인식, 로그인 처리 등 웹 크롤링의 기초부터 고급 기법까지 종합적으로 다루는 유일한 책. 실제 업무와 생활에 적용할 수 있는 예제가 가득하다. 2판은 예제를 추가 및 업데이트했고 모던 웹에서 거의 모든 종류의 데이터를 가져오는 방법을 포괄적으로 다룬다.

 

[추천사]

이 책에 나오는 예제와 도구를 이용해 여러 반복 업무를 자동화할 수 있었고, 그 시간을 더 흥미로운 일에 쓸 수 있었다. 결과를 바로 확인할 수 있고, 실제 업무나 생활에서 접하는 문제를 예제로 설명하여 빠르고 쉽게 읽을 수 있었다.

_ 에릭 반위크, 프랭클린 올린 공과대학교 컴퓨터 엔지니어

 

웹에서 데이터를 모으고 싶다는 생각을 한 번이라도 해봤다면 이 책을 읽어보길 권한다. 이미 크롤링을 해본 적이 있다면 더욱 도움이 될 것이다. 크롤링을 막는 페이지를 만난 적이 있다면? 이 책은 크롤러가 ‘인간’처럼 보이게 하는 법도 설명한다.

_ 클리프 추, Carousell 데이터 분석가

 

 

733px_상세이미지.jpg

 

 

저자

라이언 미첼

웹 크롤링, 보안, 데이터 과학에 관심이 많은 개발자. 현재 글로벌 펀드사 헤지서브(HedgeServ)에서 시니어 개발자로 근무하고 있습니다. 프랭클린 W. 올린 공과대학교를 졸업했고 하버드 대학교에서 소프트웨어 엔지니어링 석사 과정을 밟았습니다. 어바인(Abine)에서 웹 크롤러와 봇을 만들었고, 링크드라이브(LinkeDrive)에서는 API 및 데이터 분석 도구를 만들었습니다. 금융업 및 유통업 분야에서 웹 크롤링 프로젝트 컨설팅을 하고 있고, 교육과 강연 활동도 활발하게 펼치고 있습니다. 본서 외 저서로 『Instant Web Scraping with Java』(Packt, 2013)가 있습니다.

역자

한선용

웹 표준과 자바스크립트에 관심이 많은 번역가. 2008년부터 웹 관련 일을 했으며, ‘WCAG 2.0을 위한 일반적 테크닉’ 등의 문서를 번역해 웹에 올렸습니다. 번역서로 『한 권으로 끝내는 Node & Express』(2015), 『자바스크립트를 말하다』(2014), 『데이터 시각화를 위한 데이터 인사이트』(2014), 『모던 웹을 요리하는 초간편 HTML5 Cookbook』(2012), 『Head First jQuery』(2012), 『jQuery Mobile』(2012), 『자바스크립트 성능 최적화』(2011, 이상 한빛미디어), 『자바스크립트 프로그래밍』(2013), 『처음 배우는 jQuery』(2012), 『에릭 마이어의 CSS 노하우』(2011, 이상 인사이트) 등이 있습니다.
 
 

Part I 스크레이퍼 제작


CHAPTER 1 첫 번째 웹 스크레이퍼

1.1 연결

1.2 BeautifulSoup 소개

__1.2.1 BeautifulSoup 설치

__1.2.2 BeautifulSoup 실행

__1.2.3 신뢰할 수 있는 연결과 예외 처리

 

CHAPTER 2 고급 HTML 분석

2.1 닭 잡는 데 소 잡는 칼을 쓸 필요는 없습니다

2.2 다시 BeautifulSoup

__2.2.1 find()와 findAll()

__2.2.2 다른 BeautifulSoup 객체

__2.2.3 트리 이동

2.3 정규 표현식

2.4 정규 표현식과 BeautifulSoup

2.5 속성에 접근하기

2.6 람다 표현식

 

CHAPTER 3 크롤링 시작하기

3.1 단일 도메인 내의 이동

3.2 전체 사이트 크롤링

__3.2.1 전체 사이트에서 데이터 수집

3.3 인터넷 크롤링

 

CHAPTER 4 웹 크롤링 모델

4.1 객체 계획 및 정의

4.2 다양한 웹사이트 레이아웃 다루기

4.3 크롤러 구성

__4.3.1 검색을 통한 사이트 크롤링

__4.3.2 링크를 통한 사이트 크롤링

__4.3.3 여러 페이지 유형 크롤링

4.4 웹 크롤러 모델에 대한 생각

 

CHAPTER 5 스크레이피 

5.1 스크레이피 설치

__5.1.1 새 스파이더 초기화

5.2 간단한 스크레이퍼 작성하기

5.3 규칙에 의한 스파이더링

5.4 항목 만들기

5.5 항목 출력하기

5.6 파이프라인

5.7 스크레이피 로깅

5.8 더 읽을 거리

 

CHAPTER 6 데이터 저장

6.1 미디어 파일

6.2 데이터를 CSV로 저장

6.3 MySQL

__6.3.1 MySQL 설치

__6.3.2 기본 명령어

__6.3.3 파이썬과 통합

__6.3.4 데이터베이스 테크닉과 모범 사례

__6.3.5 여섯 다리와 MySQL

6.4 이메일

 

Part II 고급 스크레이핑


CHAPTER 7 문서 읽기

7.1 문서 인코딩

7.2 텍스트

__7.2.1 텍스트 인코딩과 인터넷

7.3 CSV

__7.3.1 CSV 파일 읽기

7.4 PDF

7.5 마이크로소프트 워드와 .docx

 

CHAPTER 8 지저분한 데이터 정리하기

8.1 코드에서 정리 

8.2 사후 정리

__8.2.1 오픈리파인

 

CHAPTER 9 자연어 읽고 쓰기

9.1 데이터 요약

9.2 마르코프 모델

__9.2.1 위키백과의 여섯 다리: 결론

9.3 자연어 툴킷

__9.3.1 설치

__9.3.2 NLTK를 사용한 통계적 분석

__9.3.3 NLTK를 사용한 사전적 분석

9.4 추가 자료

 

CHAPTER 10 폼과 로그인 뚫기

10.1 파이썬 requests 라이브러리

10.2 기본적인 폼 전송

10.3 라디오 버튼, 체크박스, 기타 필드

10.4 파일과 이미지 전송

10.5 로그인과 쿠키 처리

__10.5.1 HTTP 기본 접근 인증

10.6 기타 폼 문제

 

CHAPTER 11 자바스크립트 스크레이핑

__11.1.1 널리 쓰이는 자바스크립트 라이브러리

11.2 Ajax와 DHTML

__11.2.1 셀레니움으로 파이썬에서 자바스크립트 실행

__11.2.2 그 밖의 셀레니움 웹드라이버

11.3 리다이렉트 처리

11.4 자바스크립트에 대한 마지막 노트

 

CHAPTER 12 API를 통한 크롤링

12.1 API에 대한 간단한 소개

__12.1.1 HTTP 메서드와 API

__12.1.2 API 응답에 대해

12.2 JSON 파싱

12.3 문서화되지 않은 API

__12.3.1 문서화되지 않은 API 찾기

__12.3.2 문서화되지 않은 API 문서화하기

__12.3.3 API 자동으로 찾고 문서화하기

12.4 API와 다른 데이터 소스의 결합

12.5 마치며

 

CHAPTER 13 이미지 처리와 텍스트 인식

13.1 라이브러리 개관

__13.1.1 필로

__13.1.2 테서랙트

__13.1.3 파이테서랙트

__13.1.4 넘파이

13.2 형식이 일정한 텍스트 처리

__13.2.1 이미지 자동 조정

__13.2.2 웹사이트 이미지에서 텍스트 스크레이핑하기

13.3 CAPTCHA 읽기와 테서랙트 훈련

__13.3.1 테서랙트 훈련

13.4 CAPTCHA 가져오기와 답 보내기 

 

CHAPTER 14 스크레이핑 함정 피하기

14.1 스크레이핑의 윤리에 관해

14.2 사람처럼 보이기

__14.2.1 헤더를 수정하십시오

__14.2.2 쿠키 처리

__14.2.3 타이밍이 가장 중요합니다

14.3 널리 쓰이는 폼 보안 기능

__14.3.1 숨긴 필드 값

__14.3.2 허니팟 피하기

14.4 사람처럼 보이기 위한 체크리스트

 

CHAPTER 15 스크레이퍼로 웹사이트 테스트하기

15.1 테스트 입문 

__15.1.1 단위 테스트란?

15.2 파이썬 unittest

__15.2.1 위키백과 테스트

15.3 셀레니움을 사용한 테스트

__15.3.1 사이트 조작

15.4 unittest vs 셀레니움

 

CHAPTER 16 병렬 웹 크롤링

16.1 프로세스 vs. 스레드

16.2 멀티스레드 크롤링

__16.2.1 경쟁 상태와 큐

__16.2.2 threading 모듈

16.3 멀티프로세스 크롤링

__16.3.1 멀티프로세스 크롤링

__16.3.2 프로세스 간 통신

16.4 멀티프로세스 크롤링의 다른 접근법

 

CHAPTER 17 원격 스크레이핑

17.1 원격 서버를 쓰는 이유

__17.1.1 IP 주소 차단 방지

__17.1.2 이동성과 확장성

17.2 토어

__17.2.1 파이삭스

17.3 원격 호스팅 

__17.3.1 웹사이트 호스팅 계정에서 실행

__17.3.2 클라우드에서 실행

17.4 추가 자료

 

CHAPTER 18 웹 스크레이핑의 합법성과 윤리

18.1 상표? 저작권? 특허?

__18.1.1 저작권법

18.2 동산 침해

18.3 컴퓨터 사기와 악용에 관한 법률

18.4 robots.txt와 이용 약관

18.5 세 가지 웹 스크레이퍼 사례

__18.5.1 이베이 vs. 비더스 에지: 동산 침해

__18.5.2 미국 vs. 오언하이머: 컴퓨터 사기와 악용에 관한 법률

__18.5.3 필드 vs. 구글: 저작권과 robots.txt

18.6 미래를 향해 

복잡 다양한 웹에서 우아하게 데이터를 수집하는 방법 A to Z 

 

우리는 생활 속의 많은 부분이 인터넷에서 이루어지는 시대에 살고 있습니다. 그 어느 때보다 많은 데이터로 넘쳐나는 웹 세상에서 필요한 데이터를 가져와 분석하는 일의 중요성도 커졌습니다. 인터넷을 활보하며 데이터를 수집하는 프로그램을 웹 크롤러 혹은 웹 스크레이퍼라고 합니다. 웹 크롤러는 데이터 수집을 자동화하므로 비즈니스 의사 결정에 큰 도움이 되고, 웹사이트 스캐너로 활용할 수도 있어 보안 분야에서도 사용됩니다.

 

웹 크롤링은 인증 같은 웹 기술에 대한 이해는 물론, 데이터 정제, DB 저장 등 여러 기술에 대한 지식이 필요한 분야에 속합니다. 따라서 프로그래밍 스킬을 향상하는 데에 아주 좋은 주제이며, 과거에는 프로그래밍 전문가만이 웹 크롤러를 만들 수 있었습니다. 하지만 파이썬이라는 배우기 쉬운 언어와 쉽게 쓸 수 있는 각종 라이브러리들이 등장하며 이러한 장벽은 무너졌습니다. 기업 사례뿐만 아니라 음원 차트 추출하기, 서울의 기온 데이터 추출하기, 게시판 문서 다운로더 등 주위를 둘러보면 의외로 많은 생활 속 사례를 찾을 수 있습니다.

 

『파이썬으로 웹 크롤러 만들기(2판)』는 웹 크롤링이라는 주제 하나에 집중하는 책입니다. 업무상 웹 크롤러를 만들다 푹 빠진 나머지 회사를 나와서도 계속 웹 크롤러를 만들고 있는 개발자가 썼습니다. 파이썬과 라이브러리를 이용하여 아주 간단한 웹 크롤러를 만드는 것으로 시작해서, HTML, API 등 웹 기술의 기초부터 데이터 정제 및 저장, 자연어 처리, 이미지 및 텍스트 인식 등 고급 기법까지 종합적으로 살펴봅니다.

 

책의 1부는 파이썬과 함께 BeautifulSoup, 스크레이피 같은 라이브러리를 이용하여 아주 간단하게 웹 크롤러를 만들어보며 시작합니다. 나아가 API를 이용한 수집, 데이터를 MySQL로 저장하는 방법, CSV, PDF, 워드 파일을 분석하는 방법까지 필요에 따라 다양한 라이브러리를 활용하여 웹 크롤러를 구현하는 방법에 집중합니다. 위키백과를 크롤링하며 ‘케빈 베이컨의 여섯 다리’(과연 전 세계 사람은 여섯 다리만 거치면 연결될까요?) 문제를 풀어보는 예제도 있습니다.

 

2부는 웹 크롤링을 둘러싼 더욱 흥미로운 주제와 기법을 다룹니다. 웹에서 가져온 지저분한 데이터를 정돈하고 정제하는 방법(오픈리파인), 자연어 처리(NLTK), 폼과 로그인 뚫기(requests), 자바스크립트로 만든 동적 페이지 수집하기(셀레니움), 이미지 처리(필로) 및 텍스트 인식(테서랙트), 웹사이트 테스트(unittest), 원격 크롤링(토어) 등 고급 기법과 라이브러리 사용법을 살펴봅니다. 특히 텍스트 인식은 CAPTCHA, 즉 자동 가입 방지 문자를 우회하는 데 유용하며, 크롤링을 막는 방해물을 뚫기 위한 ‘사람처럼 보이기’ 기법은 아예 한 장을 할애해서 자세히 소개합니다.

 

오늘날 데이터가 넘쳐나는 웹에서 웹 크롤러로 할 수 있는 일은 무궁무진합니다. 필요한 것은 약간의 파이썬 프로그래밍 능력 하나뿐입니다. 나머지는 이 책에서 배울 수 있습니다. 웹 크롤링을 적용하여 업무를 자동화하고 생활 속에서 유용한 통찰을 찾는 데 이 책이 큰 도움이 되리라 믿습니다. 복잡 다양한 웹 세상에서 우아하게 데이터를 수집하고 싶은, ‘일상의 데이터 분석가’를 꿈꾸는 이들에게 이 책을 권합니다.

이 책은 많은 사랑을 받은 1판에 이어 출간된 원서 2판을 기반으로 합니다. 예제를 추가 및 업데이트했고 모던 웹에서 거의 모든 종류의 데이터를 가져오는 방법을 포괄적으로 다룹니다.

  • 파이썬 웹 크롤러 만들기 

    작년 파이콘에서 웹 크롤러를 보고 나도 하나 만들어야겠다 싶었다. 

    인터넷을 뒤적여 가며 찰흙을 붙이듯 붙여나갔지만 얼마 가지 않아 난관에 봉착했다. 

    태그의 열림과 닫힘이 짝이 안 맞거나 한글이 아니거나 혹은 렌더링 된 페이지이거나 혹은 로그인이 필수인 페이 지거나.. 

    나는 결국 매번 부딪히는 허들에 방법을 찾아 헤매고 헤매다 지쳐 결국 토이 프로젝트는 중단되었다. 


    인터넷에는 많은 자료가 있어 방대하지만 그것은 과연 지식이라 할 수 있을까 

    또한 방법은 찾았다 하더라도 근본적인 오류의 원인과 해결 방법을 설명할 수 있는 수준에 이르긴 어려웠다. 

    그래서 나는 요즘 기술 공부도 책으로 먼저 하는 것에 중점을 두고 있다. 

    이런 기회에 만난 파이썬 웹 크롤러 만들기 책은 삽질의 연속이었던 나에게 

    라이브러리 하나하나, 함수 인자 하나하나, 가장 많이 사용하는 use case 하나하나 친절하게 설명해주는 책이다. 


    이전에 검색으로 얻은 파편화된 지식이 파이썬 웹 크롤러 만들기를 읽음으로써 조각이 맞춰지는 기분이었다. 

    고급 HTML 분석부터 크롤링 시작, 웹 크롤링 모델, 스크레이퍼, 데이터 저장을 초반에 다루고 있는데 이곳까지 읽으면 원하는 웹 크롤러는 만들 수 있다. 

    이후 자연어 처리, 로그인 뚫기, 이미지 처리, 텍스트 인식 등 딥러닝을 위한 자료 수집에 도움이 될만한 챕터들도 있고, 

    병렬 웹 크롤링과 그리고 가장 궁금한 토픽인 합법성과 윤리에 대한 내용도 다룬다. 


    미리 말해두자면 크롤링은 적법이다. 

    다만 일부 사이트에서는 리소스를 민감하게 받아들여 해당 ip 차단을 하기도 한다. 

    개인적인 생각으론 무분별한 크롤링보다는 사이트에 부담스러운 request를 주지 않도록 적절히 조절하는 것이 좋다고 생각한다. 


    이 책은 파이썬 3 기반으로 작성돼있다. 

    파이썬 기초 지식이 없는 사람들도 따라 할 수 있는 수준으로 가이드 하지만 

    그렇다고 이 책을 파이썬 교재로 삼아서는 안된다고 강조한다. 


    파이썬으로 웹 크롤러 만들기 책은 스스로 링크를 타고 움직이면서 정보를 수집하는 웹 크롤러를 주제로 삼는다. 

    그저 크롤러를 만들고 HTML 구조를 분석하는 책이겠거니 생각했으나, 책을 쭉 읽어보니 생각보다 훨씬 다양한 분야를 다루고 있어 몹시 흥미로웠다고 옮긴이는 말한다. 


    또한 파이썬 공부를 병행하고자 하는 독자라면 python3을 추천한다. 

    이 책이라서가 아니라 이제 파이썬은 버전 2를 더 이상 지원하지 않는다. 

    유지보수를 위해서 불가피하게 배워야 할 하는 경우가 아니라면 버전 3을 먼저 익힌 뒤 

    여유가 된다면 버전 2를 보는 순서가 되길 바란다. 

    왜냐하면 둘의 문법은 생각보다 많이 다르기 때문이다. 


    보통 자료 조사에서 크롬 탭 4~50개가 기본인 나는 이참에 웹 크롤러를 만들어 링크를 타고 타고 움직이는 자료 수집 비서를 만들어볼 생각이다.

  • B5046562423_l.jpg

     

    리뷰에 앞서 본 리뷰는 한빛 출판 네트워크에서 진행한 ‘나는 리뷰어다’ 이벤트에서 제공받은 책으로 진행한 것을 밝힙니다.

     

    파이썬이라는 언어는, 프로그래밍을 한다고 하면 항상 C 언어를 배워야했던 것처럼, 반드시 익혀야하는 언어라고 생각이 될 정도로 일반화되었다고 생각한다. 단순히 사용하기 쉽다 정도에서 끝나지 않고, 어떤 일을 빠른 시간 내에 해야 할 때, 이미 필요한 대부분의 라이브러리가 준비되어 있는 경우가 많다. 웹 관련 기술에서도 이러한 점은 다르지 않다.

     

    초판이 정확이 언제 출간되었는지 기억이 나지는 않는데, 벌써 두 번째 버전의 번역판이 출간되었음을 다른 책을 구매하러 한빛 미디어 사이트에 들어갔다가 알게 되었다. 마침 기회가 되어 리뷰까지 할 수 있어 감사하게 생각한다.  

     

    웹 크롤러를 만들어 특정 사이트에서 원하는 정보를 얻어 오는 것은, 어떤 정보를 어느정도로 수집할 것인가에 따라 난이도는 많이 달라진다. 간단한 정보라 해도, 정보를 수집하게 어렵게 만들기 위한 여러 기법이 적용되어 있는 사이트의 경우, 이를 위해 많은 정보를 찾아보아야 하고, 어떤 언어를 이용하는 것이 가장 도움이 되는 지에 대해서도 고민해야 하는 부분이 된다.

     

    본 책은, 그러한 고민을 시작하거나 이미 하고 계신 분들에게, 도움이 될 수 있다고 생각한다. 책의 두께만 보고 별 내용이 없으리라 판단할 수도 있지만, 모든 챕터를 꼼꼼히 읽어보면, 단순히 웹 크롤링러 작성하는 방법만을 나열한 책이 아니라는 것은 쉽게 파악할 수 있다. 간단한 스크레이퍼를 작성하는 방식으로 접근을 하면서 하나 하나 좀 더 복잡한 경우 그리고 좀 더 다양한 고려를 해야만 하는 경우들을 짚고 있다. 그리고 중간 중간에 뒤에 진행되어야 할 부분에 대한 필요한 정보에 대해서도 몇 개의 챕터를 할애해 설명을 하고 있다. 간단한 테크닉이나 단순 라이브러리의 사용법 이외에도, 쿠키 처리, CAPTCHA 다루는 방법, 스크레이핑 방어 코드 우회 등과 같이 좀 더 고급 내용도 다루고 있어 참고하기에 좋은 부분이라 생각한다. 그리고 웹 크롤러 작성시 반드시 고려해야하는 윤리성, 합법성 관련 문제에 대해서도 다루고 있다. 전반적으로 웹 크롤러 작성 시 큰 그림을 보기 위해서 읽어볼 만한 좋은 책이라 생각한다. 

     

    하지만, 책을 읽으면서 아쉬운 부분도 일부 눈에 띄었다. 첫째로 이 책이 원서라는 점이다. 원서이기 때문에 이 책이 간행된 시점과 번역서가 간행된 시점은 차이가 날 수 밖에 없다. 예제로 설명하는 코드가 번역이 진행된 시점에 동작하지 않는 부분들이 존재한다. 하지만 역자 분이 이 부분을 꼼꼼히 체크하여, 이러한 부분들을 일일이 언급하고 필요시 예제 코드를 변경하거나, 별도의 github 사이트에 대체 코드를 올려주신 부분은 고마운 부분이라 생각된다. 둘째로 일부 내용의 경우, 배치를 굳이 이렇게 해야했나 하는 부분도 눈에 띈다. 굳이 CVS, PDF와 같은 포맷의 문서 읽기나 자연어 처리와 같이, 알면 도움이 되지만 흐름상 배치를 참고 자료로서 뒷쪽에 배치해도 될 것으로 보이는 내용들을, 중간에 배치 해, 그냥 스킵하고 다음으로 넘어가도 되는 내용 아닐까 하는 부분도 있었다. 셋째로, 다양한 주제를 적은 페이지의 책에서 설명하려다보니, 예제가 단순한 면이 있다. 규모가 좀 큰 예제와 그런 경우 고려해야하는 부분들이 있으면 좋았을텐데 하는 아쉬움이 있다.

     

    요즘 들어 번역서들은 과거의 수준과는 달리 상당히 번역이 잘 되어 있다. 이 책 역시 책을 읽으면서 큰 어색함을 느끼지 못하였다. 또 띄어 쓰기나 쉼표 등이 잘 되어 있어서 어색함과는 별개로 빠르게 읽어나가는데도 문제가 없다고 느꼈다 ( 이 부분에 있어서는 사람들마다 생각이 다를 수는 있으나, 아무리 컴퓨터 IT 책이라도, 중요하다고 생각하는 편이다).

     

    참고로 이 책은 웹 크롤링에 대한 입문서이지, 파이썬 언어에 대한 입문서는 아니다. 책에서 저자가 책에서 설명하는 라이브러리 설치 방법 등에 대해 상세하게 설명하는 부분이 있지만, 어느정도 파이썬에 익숙해져 있는 분들을 위한 내용이다. 따라서 본 책을 보기 전에 먼저 파이썬 입문서를 참고한 후 읽는 것이 더 효과적으로 책을 이해할 수 있을 것이라 생각한다.

  • 초판은 2016년에 나왔고, 2019년 3월 29일에 2판이 발행되었다. 

    2판은 초판의 내용에 웹 크롤링 모델(4장), 스크레이피(5장), 병렬 웹 크롤링(16장)이 추가되었다. 

     

    기본적인 파이썬 문법만 조금 알고 있다고 한다면, 이 책을 보기에는 큰 무리가 없을 듯 하다. 

    솔직히 웹 스크레이핑이 뭔지, 웹 크롤링이 뭔지, 어디에 쓰는 건지, 어떻게 쓰는건지 전혀 몰랐는데, 

    번역이 잘되어 있고, 쉽게 풀이되어 있고, 적절한 코드에, 비유도 적절하게 들어가면서 내용들을 쉽게 이해할 수 있었다.  

     

    이 책은 1부 스크레이퍼 제작과 2부 고급 스크레이핑으로 나뉘어져 있고, 총 18장으로 구성되어 있다. 

    1부에서는 웹 스크레이핑과 웹 크롤링에 대해서 설명하고 있고, 사용할 라이브러리에 중점을 두고 있다. 

    2부에서는 웹 스크레이퍼를 만들 때 유용한 고급 기술에 대하여 이야기하고 있다. 

    그리고 다른 사람들의 컨텐츠를 스크레이핑해서 그 내용을 그대로 블로그에 올리는 것은 저작권법에 문제가 되는데, 

    18장에서 다양한 관점으로 웹 스크레이핑의 법/윤리 문제에 접근하여 이야기하고 있다. 

     

    각 장에서 웹 스크레이핑 관련 라이브러리를 소개하고, 그 라이브러리를 어떻게 설치하는지에 대해서도 자세히 설명되고 있다. 

     

    1장/2장에서는 HTML 페이지에서 원하는 데이터를 추출하고, 분석하기 위해 BeautifulSoup 라이브러리를 다루고 있다. 

    3장/4장에서는 URL에서 페이지를 가져오고, 그 페이지 안의 또 다른 URL을 통해 페이지를 가져오는 웹 크롤러의 필요한 기술을 다루고 있다. 

    5장에서는 그 웹 크롤러 개발에 프레임워크 중 하나인 스크레이피(scrapy)를 소개하고 있다. 

    6장에서는 스크랩한 정보를 저장하는 방법에 대해 설명하고 있다. 

     

    2부에서는 어떤 형식이든, 어떤 타입의 데이터라도 가져올 수 있는 방법을 알려준다. 

    실전으로 테스트해 볼 수 있도록 다양한 예제들이 있어서, 책을 통해 이것 저것 경험해 볼 수 있다. 

     

    한마디로 이 책은 파이썬을 사용하는 사람들에게 웹 페이지의 원하는 데이터를 추출할 수 있도록 도와주는 책이라고 할 수 있다. 

  • 초판이 나온지 벌써 몇 년이 흐른 것 같은데, 한빛미디어의 웹 크롤러 도서가 2판이 나왔다.

    하지만, 이 책을 읽기 위해서는 기본적인 파이썬 지식이 필요하다는 것이 함정이지 'ㅅ') 후후.

     

     

    크롤러를 만들면 뭘 할 수 있을까.

    예를 들어, 페이지 내의 모든 링크 목록 중 관심 있는 링크 항목만을 정규표현식을 활용하여 골라내어 수집한다던가, 또는 사이트 전체를 이동하는 크롤러를 만들어 내부 링크를 모두 수집하고 그 페이지들을 사이트의 구조와 동일하게 정리할 수 있다던가, 특정 주제만을 크롤링하여 자신만의 서비스를 만들 수 있다던가 하는 여러 활용 방법이 존재하는 것이다. 'ㅅ')

     

     

    책 초반부에서는 BeautifulSoup 라이브러리를 통해 간단한 스크레이퍼를 제작하는 과정을 다루고 있으며, BeautifulSoup 의 find(), findAll() 메소드를 통해 정보에 접근하는 방법을 간단한 정규표현식 안내와 함께 쉽게 설명하고 있다. // 이것은 마치 javascript 의 jQuery나 DOM API를 통해 html node 를 찾는 형태와 비슷하여 습득하기도 쉬워 보인다. 'ㅅ')

     

     

    챕터 4 에서는 '웹 크롤링 모델' 이라는 제목으로 데이터 수집시의 이슈와 전략, 체크해야 할 들에 대한 고민할 거리를 안내하면서, 웹 크롤러의 기본적인 구조 설계 패턴 몇 가지를 제시하고 있다. 이 챕터가 아마도 크롤러 초심자에게 많은 도움이 될 것이라 생각한다. // 저.. 저도 초심자.. 'ㅅ');

     

     

    개인적으로는 챕터 9 '자연어 읽고 쓰기' 가 두고두고 볼만한 주제로 보이고, 웹개발자들에게는 챕터 10 '폼과 로그인 뚫기' 가 한번쯤 살펴봐야 하는 내용일 것이다.

     

    책의 후반부에는 병렬 웹 크롤링, 원격 스크레이핑 등의 고급 주제들과 스크레이핑 자체의 법적/윤리적 이슈들에 대해서 다루고 있는데, 크롤러 전반 이슈에 대해 다루고 있는 국내 발매된 책 중에서는 단연 구성이 좋은 책이 아닌가 하는 생각이다. 'ㅅ')a 긁적. 아님 말구.

부록/예제소스
자료명 등록일 다운로드
예제소스 2019-04-23 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
파이썬으로 웹 크롤러 만들기(2판) : 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
파이썬으로 웹 크롤러 만들기(2판) : 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
파이썬으로 웹 크롤러 만들기(2판) : 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실