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

한빛미디어

개발의 즐거운이 가득한 곳! DEVGROUND 2019 (6월 27일(목), 28일(금))

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

한빛미디어

번역서

판매중

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

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

 

웹에 존재한다면 그것이 어떤 형태이든 데이터로 추출할 수 있다. 필요한 무기는 이 책과 파이썬뿐. 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판을 기반으로 합니다. 예제를 추가 및 업데이트했고 모던 웹에서 거의 모든 종류의 데이터를 가져오는 방법을 포괄적으로 다룹니다.

  •  이 책을 읽기 전에, 나는 크롤링을 할 줄 안다고 생각하였다. 하지만, 그것은 착각이고 아주 큰 자만이었을 뿐이었다.

     

     책장을 몇 장 넘기자, 듣지도 보지도 못 한 새로운 세상이 펼쳐졌다. 내 크롤링 실력을 향상시킨 책이라 말하기에는 이 책으로부터 얻은 것들이 너무 많다. 정확하게 말하자면 크롤링 실력이 아니라 '크롤링'이라는 개념 자체를 새로 생각하도록 만든 책이다. 이 책은 그 정도로 나를 성장시켰다.

     

     크롤링에 대하여 깊게, 자세하게 설명하면서도 이를 바로 응용할 수 있도록 쉽게 풀어 설명하였다. 또한, 크롤링을 잘 하는 방법(노하우)를 비롯하여 더 나은 크롤링을 위하여 필요한 모든 것들을 넓게 이야기 해 준다.

     

     책의 번역 상태도 인상깊었다. 적절한 단어 선택과 부드러운 글의 흐름, 읽기 편한 책의 구성은 이 책의 큰 장점 중 하나가 아닐까 싶다.

     

     지금까지도 한빛미디어의 책들을 좋아하고, 선호하였지만 이 책의 계기로 아름다운 번역상태와 탁월한 편집능력에 다시한번 감탄하고 더 좋아하게 되었다.

     

     

    파이썬으로 웹 크롤러 만들기 2판.jpeg

     

  •  

    파이썬으로 웹 크롤러 만들기.jpg

     

     

     

    웹 크롤링에 더불어 파이썬도 익힐 수 있습니다.

     

    이론보다 실무에 가깝습니다.

    그렇기에 각 장들을 체계적으로 분류하기보다 웹처럼 서로 연결하고 있습니다.
    각 장마다 실무에 적용하기 위해서라도 주제에 필요한 라이브러리나 프로그램을 알려주고 있습니다. 더군다나 역자가 번역할 시점에서 예제의 바뀐 내용과 특징을, 사용할 데이타와 함께, 주석으로 제공하고 있습니다


    웹 크롤링과 함께 개발자가 알아야 할 내용들이 곳곳에 있습니다.

    예를 들어, 9장 '자연어 읽고 쓰기'에 있는 내용은 머신러닝에까지 닿아 있습니다. 자연어를 인식하는 기초적인 방식을 알려주고, 이러한 내용이 머신러닝으로 어떻게 이어지는지 알려줍니다.



    1부는 웹 크롤링을 소개하면서 프로그래밍에서 같이 알아야 할 내용도 같이 얘기하고 있습니다.

    모듈 설치와 사용, 정규 표현식, 재귀, 객체, 파일 처리 및 DB 사용.

    웹 크롤링이 아니더라도 알아야 할 내용들입니다.


    2부는 웹 크롤링을 하며 만날 수 있는 대표적인 상황을 얘기합니다.

    먼저 상황을 이해하도록 유도하고 무엇을 어떻게 하는지 알려줍니다.

    직접 실행하며 접근할 수 있도록 하면서도 모든 것을 알려주려고 무리하지 않습니다.

    그러면서 조금 더 생각하보길 권하기도 하고, 깊이 있게 알기 위한 자료를 소개하기도 합니다

     

    7장, 8장, 9장은 텍스트를 어떻게 다루어야 할 지 얘기합니다.
    '문서 읽기'에서 텍스트 인코딩과 유니코드를 설명하고 파일에서 텍스트를 어떻게 가져오는지 보여줍니다.
    '지저분한 데이터 정리하기'에서 'n-그램'이란 언어학 용어를 사용하여 문자열을 정리하는 방식을 보여줍니다.
    '자연어 읽고 쓰기'는 'n-그램'을 적용한 데이터 요약과 '마르코프 모델'을 소개합니다.
    마르코프 모델로 웹사이트 링크를 모델링합니다. 그리고 마르코프 체인을 주어진 범위에서 적용하며 만나게 되는 '방향성 그래프'와 '너비 우선 탐색'을 간략하게 언급합니다.
    '자연어 툴킷'을 소개하며 텍스트 분석에 어떻게 사용하는지 얘기합니다. 머신러닝의 편린을 살짝 들여다 보는 느낌입니다.

    10장, 11장, 12장은 웹 클라이언트 환경에 대응하는 내용으로 제목이 모두 말해 주고 있습니다.
    '폼과 로그인 뚫기', '자바스크립트 스크레이핑', 'API를 통한 크롤링'

    13장 '이미지 처리와 텍스트 인식'은 텍스트 기반 이미지를 파이썬 라이브러리로 인식하고 사용하는 방법을 얘기합니다.

    이론 구현이 아닌 라이브러리 활용 방식을 안내하고 있습니다.
    '팔로', '테서랙트', '파이테서랙트'를 조합하여 이미지에서 텍스트를 스크레이핑하는 걸 보여줍니다. 여기서도 라이브러리를 훈련시킨다는 개념이 살짝 나옵니다.

    14장, 15장은 스크레이핑의 또다른 활용 방법을 알려줍니다.
    '스크레이핑 함정 피하기'는 크롤링 봇이 사이트를 브라우저로 사람이 열어보는 것처럼 보이도록 하는 내용입니다.
    '스크레이퍼로 웹사이트 테스트하기'는 단위테스트로 스크레이퍼를 응용하는 걸 보여줍니다.

    16장, 17장, 18장은 당장 적용해보기 어렵더라도 알고는 있어야 하는 내용입니다.
    '병렬 웹 크롤링', '원격 스크레이이', '웹 스크레이핑의 합법성과 윤리'

     


    웹 크롤링의 모습을 한 개발자 계발서입니다.

     

  • - 서평시작

     

    앱에서 사용할 데이터를 데이터를 가져오기 위해서 아주 간단히 BeautifulSoup 를 사용해본적이 있다. 웹페이지 정보를 가져오고 싶은데, 방법을 찾다가 파이썬으로 하면 간단하다고 해서 블로그에서 검색해서 간단히 사용한 적이 있다. 그래서 이 책을 시작 할 때 단순히 BeautifulSoup 사용방법을 배우는 것 만이라면 이정도 책이 필요 없을 것 같은데 하고 생각하였다.

     

    - 용어가 헷깔려?

    책 제목이 영어로는  Web Scraping with Python, 한글로는 파이썬으로 웹 크롤러 (Web Crawling) 만들기 이다. 실질적으로 같은 용어이긴 한데, 책 말머리에 저자는 최근에 웹 스크레이핑이라는 용어가 더 널리 쓰이므로 책에서도 이 표현을 사용합니다 라고 적어 두었다. 한글로 웹 크롤러라고 표기한건 아마도 한국에서는 웹 크롤러라는 말을 더 많이 사용하기 때문인 것 같다.

     

    1) 첫 번째 웹 스크레이퍼

    BeautifulSoup 를 소개 하고 설치 하고 사용 한다.

    간단히 웹페이지를 연결 하여 데이터를 가져오고 html 내용을 분석하여 원하는 값을 가져오는 것 만이라면 1장만 읽어도 끝날정도로 간단하다.

     

    부제로도 써놨지만, 사실상 다 만들어져 있다. 

     

    2) 고급 HTML 분석

    좀더 복잡하게 BeautifulSoup을 사용하는 방법을 배우고, 필요한 데이터를 찾는데 사용하는 정규표현식에 대한 내용을 다룬다.

     

    3) 크롤링 시작하기

    단일 페이지가 아니라, 여러 페이지, 여러 사이트를 이동하는 스크레이퍼를 만든다. (말머리에서 저자는 이것을 특별히 크롤러라고 부르기로 하였다.)

     

    4) 웹 크롤링 모델

    단순히 웹사이트의 내용을 가져오는 것이 아니라, 필요한 데이터의 타입을 모델링 하고 이를 최종적으로 데이터베이스에 저장 하는 내용을 다룬다.

     

    기술적인 내용도 있지만, 4.4 웹크롤러 모델에 대한 생각 부분이 읽으면서 참 도움이 되었다.

     

    -------------------

    4.4 웹 크롤러 모델에 대한 생각 (간단 요약)

    인터넷에는 너무나 많은 것들이 있고, 당신에게 그것이 필요한지 어떻게 얻을지 항상 명확히 알기는 어렵다.

     

    (1) 여러 도메인에서 유사한 데이터를 수집할 때는 항상 일반화를 시도해야 한다.

    (2) 스크레이퍼를 만들 때에는 추후 더 많은 데이터 소스가 추가될 것이라 가정하고, 새 소스를 추가하는데 필요한 노력이 최소화 되어야 한다.

    (3) 데이터 조각 간의 연결도 무시해서는 안된다. '유형','크기','주제' 같은 속성이 데이터 원본에 걸쳐 존재하는 정보를 찾고 있다면 이러한 속성을 어떻게 저장,검색,개념화 할 것인가?

    -------------------

     

    5) 스크레이피

    Scrapy (web에서 데이터를 가져오기 위한 프레임워크) 를 사용한다.

     

    BeautifulSoup는 가져온 데이터(HTML)를 파싱하는 작업만을 하는데 비하여 Scrapy는 페이지에 대한 규칙을 작성 해두면 자동(?) 으로 링크들을 이동 하며 데이터를 가져온다.

     

    6) 데이터 저장

    MySql 을 통해 데이터를 저장 하는 법을 다룬다.

     

  • 구글 같은 기업은 어떻게 만들어지나요?

     

    첫째, 수십억 달러를 모아 세계에서 가장 훌륭한 데이터센터를 만들고 세계 곳곳에 배치합니다.

     

    둘째, 웹 크롤러를 만듭니다.

     

     

    이 책은 이 의문에서 시작한다. 데이터센터는 돈이 많이 들어가니까 제껴두고, (구글 정도는 아니지만) 간단한 웹 크롤러는 노력을 하면 만들 수 있다. 그렇다면 웹 크롤러(웹 스크레이퍼)는 어떻게 만들어야 할까? 그 의문을 해결해주는 책이 바로 이 'Web Scraping with Python 파이썬으로 웹 크롤러'이다.

     

    인터넷에 돌아다니는 데이터를 잘 정리해서 쉽게 보여주는 사이트가 바로 구글, 네이버다. 구글이 가장 먼저는 아니지만 가장 그럴싸하게 검색 기능을 제공해서 세계 최고의 기업이 되었다. 구글이 되려는건 쉽지 않겠지만 인터넷 상에 돌아다니는 데이터를 잘  활용하면 뭔가 엄청난 일을 할 것만 같다. 이런 생각이 든다면 이 책에서 뭔가 해결책을 찾을 수 있을 것이다.

     

    오렐리(O'REILLY) 책이 보통 그러하듯 '파이썬으로 웹 크롤러' 책도 밀도가 있는 책이다. 페이지는 총 350이지만 그 속에 든 내용은 많다. 웹 크롤러에 도전하는 초보자가 앞으로 겪게 될 고생을 덜게해주는 목적으로 쓴 책같다. 바로 웹 스크레이핑을 시도하기 때문에 파이썬 프로그래밍 기초는 따로 설명하지 않는다. 웹 크롤러 직접 제작하고 싶다면 인터넷에 돌아다니는 다양한 정보를 보기에 앞서 이 책을 먼저 읽었으면 좋겠다. 아마 시행착오를 많이 줄일 수 있을 것이다.

     

    '파이썬으로 웹 크롤러'는 크게 2개의 파트로 나눌 수 있다. 파트1이 웹 스크레이퍼(웹 크롤러)를 만들기 위해 반드기 알아야할 내용이라면 파트2는 조금 더 깊은 세부 주제를 다룬다. 웹 크롤러가 처음이라면 파트1부터 차분히 읽을 것이 좋다. 파트2도 순서대로 읽으면 좋겠지만 지금 당장 필요가 없는 내용이라면 이런게 있구나 정도만 알고 넘어가도 좋을 것이다.

     

    거의 모든 프로그래밍이 그렇듯 파이썬으로 웹 크롤러를 만드는 작업도 다른 사람들이 미리 만들어놓은 라이브러리를 활용하는 것이 좋다. 아니 필수다. 모든 걸 직접 제작하려는 생각은 (천재가 아니라면) 어리석은 짓이다. 이 책은 기본적으로 BeautifulSoup 라이브러리(bs4)를 사용한다. BeautifulSoup으로 시작해서 스크레이피, 오픈리파인, 자연어 처리 NLTK, 셀레니움, 필로, 테서랙트, CAPTCHA 등 많은 라이브러리의 사용법을 이 책에서 배울 수 있다.

     

    파트1의 내용은 웹 크롤러 만들기의 기본을 설명하는데, 웹 크롤러를 만들어서 웹 사이트를 돌아다니며 모은 데이터를 MySQL과 같은 데이터베이스에 저장하는 방법까지 배운다. 책에 있는 내용을 따라하다보면 웹 크롤러가 어떻게 웹을 돌아다니는지 조금 감을 잡을 수 있을 것이다.

     

    파트2의 내용은 매우 실용적이다. 무슨 내용을 다루는지는 목차를 보면 된다. 문서 읽기, 지저분한 데이터 정리하기, 자연어 읽고 쓰기, 폼과 로그인 뚫기, 자바스크립트 스크레이핑, API를 통한 크롤링, 이미지 처리와 텍스트 인식, 스크레이핑 함정 피하기, 스크레이퍼로 웹사이트 테스트하기, 병렬 웹 크롤링, 원격 스크레이핑, 웹 스크레이핑의 합법성과 윤리.

     

    크롤링에 관심이 있어 '파이썬으로 웹 크롤러 만들기'를 봤는데 파이썬 실력이 늘어난 것 같다. 다양한 라이브러리를 경험을 해서 그런가?! 웹 크롤러에 대한 궁금증도 어느정도 풀렸지만 파이썬의 막강함을 다시 한번 느끼게 되는 계기가 된 것 같아 개인적으로 아주 만족스럽다.

     

  • 20190526_212820.jpg

     

     

     

     

     

     

     

     

    이 책은 오라일리 미디어의 Web Scraping With Python 2nd Edition을 한빛미디어에서 한글 번역본인 '파이썬으로 웹 크롤러 만들기 2판'입니다.

     

     

     

    웹 크롤링이란? 

    크롤링(Crawling)이라고도 하고, 스크레이핑(Scraping)이라고도 부르며 웹페이지를 가져와 페이지 내의 데이터를 추출해내는 것을 일컫는 말로, 이런 작업을 수행하는 프로그램을 크롤러(Crawler)라고 합니다.

     

     

     

    책을 읽기 위해 필요한 것

     

    파이썬에 대한 기초 지식 

    프로그래밍에 대한 기초 지식

     

     

    책 이름대로 파이썬을 이용해서 크롤러를 만드는 것이 목적이기 때문에, 책에 있는 모든 소스가 파이썬으로 작성되어 있습니다. 다른 프로그래밍 언어는 알지만, 파이썬을 아예 모르거나, 아직 기초적인 내용밖에 모르는 사람이더라도 책을 읽기에는 무리가 없습니다. 파이썬을 써본 적이 없거나, 멀리하셨던 분들은 이 기회에 파이썬을 익히는 것도 나쁘지 않을 것 같습니다.

     

     

     

    책의 구성

     책은 크게 파트 1과 파트 2로 나누어져 있습니다.

     

    파트 1

     파트 1에서는 웹 스크레이퍼의 기초, 본질적인 내용들을 위주로 다루며 웹 크롤러 개발을 시작하기 위한 토대를 닦는 과정입니다. BeautifulSoup을 설치해서 사용해보고, HTML 태그에서 단서를 구하는 방법, 정규 표현식 같은 기초 내용을 학습하는 구간입니다.

     

     

    파트 2

      파트 2의 내용은 파트 1의 내용을 충실히 학습한 학습자나, 이미 알고 있는 개발자에게 필요한 내용들로 웹상에서 만나는 다양한 데이터 형태와 예외들에 대해서 다루고 있습니다. 상호 작용 기능이나, 폼, 자바스크립트에 의해 크롤링이 방해받을 때, 이를 극복하는 방법에 대해서도 쓰여 있습니다. 사이트에 직접 테스트를 해보고, 자동화하고, 커진 규모에 좀 더 빠르게 작동할 수 있게 최적화를 하고 병렬화를 시도해보는 등 고급 스킬들에 대해서도 다룹니다.

     

     

     

    이 책의 장점

     

    1. 웹 크롤링에 대해 무지한 사람도 이해하기 쉽게 작성되어 있다.

     웹에서 정보를 가져오고 싶은 사람들이 적절한 파이썬 강의만 학습해도 이 책을 읽고 크롤러를 만드는데 무리가 없어 보입니다. 크롤러를 만드는 것에 초점을 뒀기 때문에 필요 이상의 깊이 있는 내용이 들어 있지 않는 것이 한몫하는 것 같습니다.

     

     

    2. 어색함이 느껴지지 않은 준수한 번역

     과거에 비하면 번역에 문제가 있는 책들이 적은 편이긴 해도 여전히 대안이 없는 상태에서 질 낮은 기계 번역을 이용한 책들이 시중에 나와 있는 걸 감안하면, 이 책은 원래 한글로 작성된 수준이라고 볼 수 있습니다. 부자연스러운 문장을 찾아볼 수 없었던 깔끔한 번역판이라 기초 지식만 가지고 있거나, 그마저도 부족한 사람들이 부자연스러운 용어나 표현으로 인해 학습하기 어려운 부분은 없다고 볼 수 있습니다.

     

     

    3. 다양한 경우를 만나고, 실용적인 도구를 만들 수 있다.

     웹 크롤링을 하면서 만날 수 있는 다양한 경우들에 대해 책에서 다루고 있습니다. 무작정 데이터를 긁어올 수 있으니 이런 식으로 작성하라고 이야기하는 것이 아니라, '이 방법이 통하지 않는 경우가 있는데 그 이유는 무엇이며, 이러한 방식으로 대처가 가능하다.'라는 설명이 있어 실생활에서 유용하게 쓸 크롤러를 만들 수 있습니다.

     

     

    4. 흥미로운 내용

     이 책은 국내에서 저자가 북미에 거주 중인 상황이라, 북미 위주의 내용을 다루어 국내 실정법을 다루는 것은 아니지만, 상용 사이트를 사용하는 과정에서 허가되지 않은 접근이나 허가되었다고 하더라도 그 상용 사이트의 운영에 방해되는 정도의 크롤링 작업이 법적으로 문제의 소지가 있음을 충분히 설명하여 만드는 방법만 중요한 것이 아니라 사용하는 방법도 신경 써야 함을 강조하고 있습니다. 특히 책에서 제시한 페이스북 무단 크롤링 사건 같은 경우 '빅 데이터는 싸지만, 변호사는 비싸다.'라는 개발자의 이야기가 법률적인 문제가 결코 작지 않음을 확 와닿게 해주는 표현이었습니다.

     

     

     

     

     

    총평

     

    파이썬을 잘 모르더라도 프로그래밍 경험이 있는 사람은 읽는데 문제없는 책

    웹 크롤러 입문자부터 웹 크롤러 유경험자가 참고하기 좋은 책

     

    파이썬을 이용해 웹 크롤러를 만들어보려는 입문자에게도 좋은 책이지만, 이미 경험이 있는 개발자에게도 옆에 두고 문제를 마주칠 때마다 읽을만한 참고서로 손색이 없을 정도로 많은 사람들에게 이 책이 분명히 유용한 책이 될 것입니다.

     

  • 20190609_033853801_iOS.jpg

     

    파이썬을 이용한 웹 크롤러 제작의 필독서

    파이썬은 문법에 대한 학습만 하고 djnago를 이용한 간단한 웹 페이지만 작성해본 사람으로서 처음 접해본 웹 크롤러 관련 서적이다. 책은 두껍지 않으나 웹 크롤러과 관련하여 다루는 내용이 많고 설명이 간결하다.

    파트1 스크레이퍼 제작

    파이썬을 통한 웹 크롤링이 무엇인지 소개하고 파이썬을 설치하고 간단한 코딩으로 부터 시작해서 여러가지 라이브러리를 사용하여 데이터를 얻고 mysql을 설치해서 데이터베이스에 저장 하는 것까지 안내 하고 있다. 파이썬 기초에 대해서는 다루지 않기 때문에 파이썬에 대한 기본적인 이해와 학습은 미리 준비가 필요하다. 하지만 웹 크롤링이 뭔지, 파이썬이 뭔지 몰라도, 소스코드가 무었을 의미 하는지 제대로 이해 하지 못해도 웹 크롤러에 대한 대략적인 감은 잡을 수 있을 듯 하다. 핵심만 간추려서 군더더기 없이 친절하게 안내하고 있어 쉽게 이해 할 수 있다. 하지만 소스코드를 보고 이해 하는 것과 설명만을 이해 하는 것은 전혀 다른 것이니 소스코드를 보고 직접 코딩하면서 결과물을 확인 하면 더 좋을 것이다.

    웹 크롤러를 작성하여 데이터를 얻어 오는데 있어 여러가지 준비 사항들이 필요한데 정규표현식과 람다표현식에 대해서도 간단하게 설명하고 넘어가는 부분이 있다. 웹 크롤링으로 정확한 정보를 수집한다고 하면 이들의 내용에 대해서도 따로 학습이 필요 할 듯 하다. 또 수집한 데이터를 데이터베이스에 저장 하여 확인 하기 위해 my-sql 을 설치하여 사용하는 방법을 안내하고 있다. 이렇게 부분 부분 필요한 내용을 어렵지 않게 쉽게 설명하고 있어서 맘에 들었다.

    파트2 고급 스크레이핑

    책에서 저자가 말했던 "웹 크롤링은 여러가지 최신 웹 기술의 핵심에 있다" 라는 말을 증명 하는 내용이다. 웹 크롤링으로 데이터들을 수집하기 위해 상대해야 하는 여러가지 주제들에 대해 하나하나 설명을 하고 있다. 목차에서도 볼 수 있듯이 텍스트 포멧의 문서읽기, 자연어 처리, 폼과 로그인, 자바스크립트등의 내용을 소개 하는 것을 보고 있자니 내가 너무 웹 크롤링을 그냥 막연하게만 생각하고 있었다는 것을 느꼈다. 하지만 적당한 유머와 간결한 문체로 설명을 해주어서 이렇게 알아야할 내용을 나열해주는데도 부담스럽거나 어렵다고 느껴지는 부분은 없었다.

    목차의 내용중에 다음의 부분들이 인상적이었다.

    폼과 로그인 뚫기

    http post 요청을 형식에 맞게 직접 만들어서 스크레이퍼가 전송을 할수있게 만드는 법을 소개 하고 있다. 웹 크롤렁은 정적인 페이지의 데이터만 수집해오는 줄 알고 있었기에 이 부분은 전혀 생각하지 못했다.

    자바스크립트 스크레이핑

    자바스크립트를 스크레이핑 하기전에 자바스크립트에 대해 간결하게 설명을 하고 있다. 내용이 많지도 않은데 마치 자바스크립트 안내서의 느낌을 받았다. 그만큼 설명을 잘 하고 있다고 생각한다.

    API를 통한 크롤링

    웹 크롤러에도 API가 있는 줄은 몰랐다. 수집하고자 하는 사이트와 내용을 잘 정리해서 시행착오를 거치며 쓸만한 데이터를 얻어 내는 것으로만 생각 하고 있었는데. 웹 크롤러 자체도 하나의 프로그램으로 인식하고 접근 방법을 다르게 바라보게 해주는 내용 이었다.

    인상적인 문구들

    어찌보면 당연한 내용인데도 읽으면서 세삼 각인되었던 문구들이다.

    "분석과 설계를 통해 코드 작업에 들어가야지 그렇지 않은 경우에는 코드를 작성하고 유지하는게 어려워 지고 결과 데이터를 추출하고 효율적으로 사용하기도 어려워진다"

    "웹 크롤링은 여러가지 최신 웹 기술의 핵심에 있다"

     

    "텍스트 분석은 당신의 프로젝트와는 아무 상관없다고 생각할 수도 있지만, 텍스트 분석의 배경에 있는 개념을 이해하면 머신러닝 전반에 걸쳐 대단히 큰 도움이 되며, 현실 세계의 문제를 개연성과 알고리즘의 관점에서 모델링하는 더 범용적인 능력을 갖게 됩니다."

  • 파이썬으로 웹 크롤러 만들기(2판)

    이 책의 초판도 인상적으로 읽었는데, 2판이 나와서 다시 읽어보게 되었다. 기존 초판에서 4, 5, 16장이 추가되었다고 한다.

    프로그래밍 책을 읽을 때 가장 먼저 하는 일은 github 저장소가 있는지 찾는다. 이 책의 저자도 github 페이지에 책의 소스코드를 공개하고 있고 주피터 노트북을 통해 바로 실습할 수 있도록 .ipynb 확장자로 파일을 제공하고 있다. 또, 초판에서는 소스코드를 .py 형태로 제공했는데 2판이 나오며 .ipynb 형태로 제공하고 있기 때문에 주피터노트북과 google colabortory를 통해 코드를 바로 실행해 볼 수있게 되었다.

    https://github.com/REMitchell/python-scraping

    소스코드를 열어볼 때는 로컬장비에 클론을 받아 주피터노트북으로 열어보는 방법도 있지만, 아래의 링크처럼 바로 Colaboratory로 열어 소스코드를 실행해 볼 수 있다.https://colab.research.google.com/github/REMitchell/python-scraping/

    위에 있는 colab URL을 실행하면 바로 소스코드를 실행해 볼 수 있다. 또, 개발서적을 볼 때 텍스트 보다 소스코드를 먼저보고 이 소스코드가 뭘 의미할지 먼저 고민해 보고 텍스트를 보는데 이렇게 프로그래밍 관련 책을 읽을 때는 소스코드를 먼저 실행해 보면 텍스트를 봤을 때 더 도움이 되는 것 같다.

    크롤링을 할 때 보통 유명사이트를 크롤링하는 예제로 만들어질 때가 많은데 이 책은 크롤링을 위해 사이트를 임의로 만들었다. 이렇게 별도의 사이트를 만드는데는 실습하고자 하는 의도를 잘 표현할 수 있다는 점과 사이트의 레이아웃이 변경되거나 했을 때 책의 소스코드가 돌아가지 않는 점을 방지할 수 있을거 같다. 크롤링을 위한 사이트를 만들어 놓았기 때문에 사이트의 내용이 변경되어 책의 소스코드를 사용할 수 없게 되는 일을 방지할 수 있다는 점이 좋았다.

    또, 이렇게 실습 사이트를 만들었을 때 실습용으로 만든 사이트이기 때문에 서비스에 부담을 주지 않는 것도 장점일 것 같다. 사이트를 크롤링하면 트래픽이 몰릴 수 밖에 없기 때문에 서비스에 부담을 주게 되는데 실습용으로 제작된 사이트에서 여러 배려를 느낄 수 있었다.

    웹 크롤링 혹은 스크래핑은 책에서 얘기하는 것 처럼 프로그래밍을 전문적으로 다루는 사람이든 아니든 누구든 흥미로워 하는 분야 중에 하나인것 같다. 또, 웹 크롤링을 위해서는 웹에 대한 전반적인 지식을 필요로 한다. 그래서 크롤링으로 프로그래밍을 배우게 된다면 웹에 대한 전반적인 내용을 배울 수 있는 주제라는 생각이 든다.

    그래서 웹 스크래핑을 이해하기 위해서는 프로그래밍 기초지식도 필요하지만 html 이라든지 css, 자바스크립트 등에 대한 이해도 필요로 한다.

    다양한 형식으로 저장하기

    데이터를 수집해서 어떻게 저장해서 처리해야 하는지도 중요한데, 이 책은 csv형태의 파일로 저장하는 코드 뿐만 아니라 데이터베이스를 활용해서 저장하는 방법까지 다루고 있다.

    텍스트 마이닝 기법(ngram, 마르코프 모델)

    이 책에서 가장 인상적이었던 부분은 텍스트데이터를 전처리 하고 다루는 방법에 대한 내용이다. 크롤링과는 조금 거리가 있는 내용일 수도 있지만 수집한 비정형 데이터를 분석하기 위해서는 텍스트 마이닝 기술을 가지고 있으면 좀 더 다양한 분석을 해볼 수 있다. 또, 웹상에서 수집한 데이터는 텍스트 데이터가 많은데 아무리 수집을 많이 한다고 해도 의미를 찾을 수 없다면 무용한 일이 될 수도 있을 것이다. 초판에서도 이 책에서 인상적이었던 부분은 이런 텍스트마이닝 기법이었다. 게다가 머신러닝이나 딥러닝에서 활용되고 있는 마르코프 모델에 대한 내용까지 다루고 있다.

    이미지 처리와 텍스트 인식

    웹 상에서 가져온 이미지에 있는 텍스트를 다룰 수 있도록 OCR 라이브러리도 다루고 있다. 그리고 수집된 이미지를 학습해서 이미지의 문자를 인식할 수 있는 머신러닝 기술에 대한 설명도 함께 하고 있다.

    테스트

    웹사이트를 주기적으로 크롤링하다보면 어느 날 사이트가 변경이 되어 작성했던 크롤링 스크립트가 동작하지 않는 경험을 하기도 한다. 또 테스트코드를 작성하는 것은 좋은 습관 중에 하나이기도 하다. 이 책은 이런 코드들을 모두 주피터 노트북에서 실행할 수 있는 소스코드로 제공하고 있다.

    저작권

    크롤링을 통해 데이터를 수집할 때 가끔 저작권을 간과해서 이슈가 되는 사례를 종종 봐왔다. 크롤링을 하기 전에 수집을 해도 되는 데이터인지 저작권에는 문제가 없는지 합법성과 윤리에 대해서도 구체적인 사례를 통해 설명하고 있다.

    초판의 내용도 좋았기 때문에 어떤 내용이 추가되었을 지 궁금했는데 크롤링을 하면 대량의 페이지를 가져올 때 좀 더 빠르게 혹은 효율적으로 작업하기 위한 병렬처리 내용이 추가된 것도 인상적이다.

    책의 소스코드도 잘 정리되어 있어서 실습과 함께 볼 수 있는 점이 좋았다.

  • [책 표지]

    20190607_174357.jpg

    책 표지에 나오는 동물이 무엇인지 매우 궁금했었다. 책을 다 읽고 표지 다음장을 넘기면서 그 궁금증을 해소할 수 있었다.
    표지의 주인공은 '사바나천산갑'이라는 포유류 동물이라고 한다. 멸종 위기에 처해 있다고 한다.
    국내 서적에서는 찾아보기 힘든 독특한 표지 디자인이다.

     

    1. 이 책을 읽기전에
    오래전부터 난 '웹 스크랩'이 아니라 '파싱'이라는 용어에 더 익숙했다.
    수년전 내가 활동하는 IT카페에서도 '파싱'에 관한 질문이 간혹 올라오는게 전부였다.

    요즘은 분위기는 반전되어 광범위하게 활용되고 있는 것 같다.
    정보처리 신기술은 대체로 그 기술과 분위기가 무르익을 때까지 다소 시일이 걸리는 듯 하다.
    수년전만 해도 웹사이트에서 내가 원하는 데이터를 쉽게 가져온다는 것은
     '신기하네. 이런 방법도 사용하는구나'
    그러나 딱 거기까지였다. 나는 더이상 목적이나 바라는 무엇을 찾지 못했고 중단됐었다.
     
    2.파이썬에 대한 나의 선수 지식은?
    나는 파이썬으로 프로젝트를 진행해 본적이 없다. 
    닷넷 계열 언어로만  쭈욱 프로젝트를 진행해 왔기 때문이다.
    이웃 회사에서 파이썬으로 프로젝트를 해 달라는 요청이 있었지만 다른 선행 프로젝트로 인해 진행하지 못했다.
    그리고 파이썬은 내 기억속에서 사라졌다.
    파이썬이 아닌 다른 언어로 몇번 시험 코드를 만들어 돌려 보곤 한게 전부였다.
    그리고 "Web Scraping with Python"이라는 책에 내 수중에 들어왔다.
     
    3. 책을 읽으려면 파이썬 문법을 몰라도 될까?
    몰라도 되고 알면 더 좋다.
    이 말은 파이썬이라는 언어에 대해서 어느정도 알고 있으면 더 재미있을 것이라 생각된다.
      하지만 파이썬을 몰라도 책에 나와 있는 예제를 입력하고 실행보면서 문법을 익혀도 크게 문제가 없을 것 같다.
    책에 나오는 예제 하나 하나는 쓸모없는 예제는 단 하나도 없다. 전부 유용하고 실무에 바로 적용 가능한 수준으로 고급스럽다.
    나는 이 책을 더 재미있게 보기 위해서 아니 파이썬이라는 언어의 매력을 보게 해주었기에 파이썬에 푹 빠지게 만들었다.
     
    4.예제 코드를 실행해 보면서
    책 도입부에 "BeautifulSoup"라는 용어가 등장한다.
    생전 처음 접해보는 용어다.
    파이썬에서 사용하는 웹 탐색용 라이브러리라고 정의되어 있다.
    파이썬이라는 언어의 간결함과 엄청나게 많은 라이브러리에 한번 더 놀라고 있다.
    파이썬을 가벼이 볼 게 아니구나. 새삼 깨닫고 있다.
    import sqlite3
    conn = sqlite3.connect('testdb.sqlite')
    단 두줄의 코드로 SQLite에 연결하고 있다. 정말 놀랍다.

    그래서 난 여러 파이썬 책을 도서관에서 대출해서 이 책과 같이 보았다. 소장하고픈 책도 한권 주문했다.
    책장을 한장 두장 넘기면서 그 다음은 무엇이 나올까? 어떤 이야기를 할까?
    정말 흥미 진진하다. IT기술서적은 대부분 딱딱하고 재미없다.
    그러나 이 책은 처음부터 끝까지 재미있다. 꼭 한번 보시는 걸 추천드린다.
     
    2017년도인지 정확히 기억이 안난다. 언제 구입한지는 몰라도 책장을 둘러보니 파이썬 책이 하나 있었다.
    보물을 찾은 듯한 기분이랄까 왠지 새롭다.
     
    5. 무수히 많은 데이터를 어떻게 정리해야 할지 새로운 아이디어를 떠오르게 해주었다.
    무수히 많은 정보가 웹사이트에 공개되어 있고 독자를 기다리고 있지만 막상 내가 필요로하는 유용한 정보를 검색하고 저장하고 내 것으로 만들기란 쉽지 않다.
    그리고 한가지 중요한게 더 있다. 저작자의 권리 침해없이 다른 사람에게 불편함이 없도록 합법적으로 정보를 내 데이터베이스에 저장하는 것이다.
    친절하게도 이 책에서는 스크랩한 정보를 데이터베이스로 저장하는 방법도 알려 주고 있다.
    MySQL 설치부터 파이썬에서 사용하는 방법도 안내해 준다.
    나는 기 설치된 MariaDB가 있어 별도로 MySQL을 설치하지 않았다. 서로 비슷한 DB이기에 그대로 사용할 수 있었다.
     
    6. 마무리 하면서
     저자의 지식의 깊이가 남다르다. 다른 사람은 어떨지 모르지만 내 생각은 그렇다.
    여러 저자의 책을 경험했기에 '라이언 미첼'의 지식 깊이는 조금은 남다른 것 같다.
    풍부한 경험에서 우러나오는 지식의 깊이를 가늠해 볼 수 있었다.
     
    나는 이 책을 통해 정보(데이터)에 대한 새로운 시각을 가지게 되었고 새로운 뭔가를 준비하고 있다.
    저자와 한빛미디어에 감사의 인사를 드리며 리뷰를 마무리 하고자 한다.

     

  • 이 책은 웹 스크레이핑을 구현하는데 필요한 지식들 즉 데이터베이스, 웹 서버, HTTP, HTML, 보안, 이미지처리 등 관련 도구 등에 걸쳐 크롤러를 개발하는 과정을 자세하게 다루고 있다. 파이썬 언어를 이용해서 웹 크롤러를 직접 만들어 보고 싶은 사람이라면 많은 도움이 될만한 책이다. 파이썬 문법을 몰라도 프로그래밍 지식이 있다면 충분히 읽을 수 있다

  • 돼지돼지돼지ㅙ지돼지돼좨디ㅗ개;먇ㄴㅇㄹ

  • 파이썬으로 웹 크롤러 만들기(2판)

     

    파이썬으로 웹 크롤러 만들기

    파이썬으로 웹 크롤러 만들기

    라이언 미첼 저/한선용 역

    웹 어디서든 내가 원하는 데이터를 쏙쏙쏙웹에 존재한다면 그것이 어떤 형태이든 데이터로 추출할 수 있다. 필요한 무기는 이 책과 파이썬뿐. BeautifulSoup, 셀레니움, 테서랙트 등 강력한 파이썬 라이브러리 사용법과 함께 API, 인증, 이미지 및 텍스트 인식, 로그인 처리 등 웹 크롤링의 기초부터 고급 기법까지 종합적...


    프로그래밍을 배웠다면 이제 배운 프로그래밍을 어디에 사용할까? 머신러닝, 인공지능? 아마 많은 경우 귀찮은 작업을 수행하기 위해 일반적인 사람들이 배우는 경우가 많다. 그렇다면 이렇게 귀찮은 작업을 한 번에 할 수 있는 방법은 다양하다. 인터넷의 웹에 있는 자료를 가져오는 것 바로 웹 스크래핑이다. 프로그래머와 일반인들 사이에 가장 재미있고 가장 흥미로운 주제가 바로 웹 스크래핑이다. 일반적인 사람이라면 누구나 인터넷을 이용하고 인터넷에서 자료를 찾기 때문이다. 


    이론적으로 웹 스크래핑이나 데이터를 수집하는 작업을 웹 크롤링이라 하고 이러한 프로그래밍을 웹 크롤러라고 한다. 대표적으로 파이썬을 이용해 이러한 웹 크롤러를 많이 작성하고 있다. 이 책은 이렇게 파이썬을 이용해 웹 크롤러를 만드는 방법을 상세히 설명하고 있다. 오늘날 웹에 존재하는 거의 모든 종류의 데이터를 수집, 변형, 사용할 수 있는 상세한 가이드로 이 책이 제공하고 있다. 1부에서는 웹 스프래핑과 웹 크롤링에 대해 깊이 설명하고 책고 실습에서 사용할 라이브러리에 중점을 준다. 2부에서는 독자가 웹 스크패링을 만들 때 유용한 추가적인 주제에 대해 다룬다.


    1부에서부터 BeautifulSoup이라는 크롤링에 필수적인 라이브러리를 설치하고 간단하게 이용해본다. 위 사진과 같이 Crwaler 클래스의 코드를 살펴볼 수 있다. 실제 파이썬 관련 코드는 모두 오픈되어 있으니 github와 같은 사이트 및 공식웹에서 모두 확인할 수 있다. 실제 구문을 보면 그렇게 복잡하지 않다. 사이트 주소를 입력해 파싱하는 것이다. 즉 원하는 형태로 쪼갤 수 있게 하는 것이다.


    웹 언어 외에도 CSV, TXT파일 등 많은 형태의 자료를 파싱하고 분석할 수 있지만, 대부분의 인터넷의 자료를 가져오는 경우가 많기 때문에 HTML 분석을 많이한다. 실제 HTML은 마크업 언어로 다양한 태그가 계층적으로 이뤄져있다. 따라서 HTML언어의 크롤링의 핵심은 바로 이 태그를 분석하는 것이다. 많은 경우 태그의 이름을 이용해 해당 태크가 있는 문장을 검색해 이를 출력하거나 저장하거나 이용할 수 있다. 


    이 책은 그 외에도 다양한 크롤링 방법을 제공한다. 자연어를 읽고 이를 분석하는 방법은 NLTK라는 자연어 툴킷을 사용한다. 다양한 API를 통해 받아온 데이터를 분석하는 방법도 알아본다. 실제 이렇게 웹의 데이터를 파싱하고 분석하는 일련의 과정들이 단순히 자료를 만들고 업무 자동화에만 사용된다면 큰 오산이다. 실제로 이는 알고리즘 관점에서 좀 더 확장된다면 머신러닝과 딥러닝의 전반적인 작업이 될 수 있다. 따라서 이후 파이썬으로 인공지능을 배우고자 하면 먼저 파싱과 분석에 대해 이 책을 통해 먼저 익히길 추천한다.


    파이썬의 기본적인 이해가 끝났다면 이렇게 다양한 프로젝트와 여러 라이브러리를 이용하는 예제를 익히고 실제로 사용해도 큰 문제가 없을 정도의 코드 및 프로그램을 작성하고 알아보는 과정을 거쳐보자.

     

  • KakaoTalk_20190524_053911149.jpg

     

    웹프로그래머라면 프로그래밍을 하며 한번쯤 크롤링에 대한 욕구가 생기는것을 부정할 수 없을것이다 

     

    그만큼 종종 쓰이는 분야이며 웹을 크롤링 하는데 있어 핵심은 '재귀'이기 때문에 URL에서 페이지를 가져오고, 그 페이지를 검사해 다른 URL을 

     

    찾고, 다시 그 페이지를 가져오는 작업을 무한히 반복하여서 자칫 잘못하면 서버에 부하가 올 수 있다.

     

    따라서 제대로 알 지 못하고 크롤링만 주구장창 한다면 오히려 독이 될 수 있기 때문에, 제대로 알아야 할 필요성을 느끼는 도중에 

     

    한빛출판사의 리뷰어로 선정되어 이 책으로 크롤러를 공부하게 되었다. 

     

    특히 언어가 파이썬으로 되어 있어 다른 언어들보다 초보자들이 웹 크롤링에 대해 쉽게 접근 가능하며, HTML, 이미지, 텍스트, 폼 등등 여러 정보들을 

     

    얻는 방법들을 상세히 알려주어 크롤링에 대한 나의 시선이 좀 더 넓어진 느낌이 있다. 

     

    다만 파이썬으로 배우다 보니 다른 언어와 파이썬 사용시 크롤링에 있어 장단점을 비교해서 알 수 있었으면 더 좋았을거 같다는 아쉬움이 조금 있다.

     

    웹 크롤링에 대해 쉽게 접근하면서도 다양한 분야에 대해 적용해 보고 싶은 분들에게 이 책을 권한다.

  • "개발자를 위한 파이썬(한빛미디어)"을 읽으면서 웹 크롤러(chapter9. 크롤링 웹 어플리케이션 만들기)을 학습 하였는데 이번 기회에  "파이썬으로 웹 크롤러 만들기"라는 웹 크롤링만 집중해서 쓰여진 책을 읽게 되었다. 

     

     

    우선 이 책 "파이썬으로 웹 크롤러 만들기" 는 웹 크롤러를 한다고 가정하면 "꼭 읽어봐야 하는 책" 이라고 생각한다.

     

    언어에 상관없이 무조건 한번을 읽어보면 웹 크롤러를 쉽게 그리고 어떻게 해야 하는지 알수 있는 책이라고 생각한다. 

     

    우선 자바를 주력으로 개발하는 입장에서 웹 크롤러를 자바로 하기는 했지만 "파이썬으로 웹 크롤러 만들기" 라는 책을 읽으면서

    파이썬 언어의 강력함과 그리고 웹 크롤러를 진행 하였을때 생각했던 어려움(로그인 문제, 문서 읽기, 자브스크립트 스트레이핑)등 그리고  이슈사항(여러 웹을 크롤링 할때 모듈을 분리하는 방법 등등)들이 거의 모든것이 "파이썬으로 웹 크롤러 만들기" 에서 이야기하고 설명하고 있었다. 

    저자의 식견이나 그리고 설명이 너무나 자세해서 놀랄정도로 좋은 내용이었었던 같다. 

     

     

    이 책의 주요 장점이라면 

     

    1. 하나의 예제를 다양한 방법으로 차례차례 설명 하고 있고 현업에서 요구하는 사항 및 변경 사항 등을 제시하고 프로그램을 업그레이드하면서 실행 및 개선을 진행하면서 학습을 할 수 있게 쓰여있었다. 

    (유지관리가 쉬운 웹 크롤러를 구축하는데 필요한 테크닉과 패턴을 제시하고 있음)

     

     

    2. 데이터 저장 방식에 대한 기재 (CSV, MYSQL) : 다른 책에는 언급하지 않은 내용

     

     

    3. 고급 스크레이핑 12개

    - 문서읽기 => csv, pdf, 마이크로소프트 워드문서 

    - 지저문한 문서 정리하는 방법 -> 정규화 , 활용할수 있는 오픈소스 등

    - 폼과 로그인 뚫기 -> 로그인을 ˚고 정보 얻기

    - 자바스크립트 스트레이핑 

    - API를 통한 크롤링 (API요청, 응답, JSON 파싱)

    - 이미지 처리와 텍스트 인식(웹사이트 이미지에서 텍스트 스크레이핑하기)

     

     

    4. 고급 스크레이핑 중 18장. 웹 스크레이핑의 합법성과 윤리 : 저작권과 법률에 대한 고민을 해볼 수 있는 내용 

     

    웹 크롤러를 하면서 고민했던 여러가지 문제 (로그인 문제, 법적인 문제)등에 대해서 설명을 하고 있었고 해당 사항등은 업무에서도 활용 및 도움이 되는 주제였다. 

     

     

    단점 

    실습을 하면서 파이썬 버전 및 프로그램 설치시 오류

    : 해당문제는 "파이썬으로 웹 크롤러 만들기" 책의 문제가 아닌 파이썬을 설치하면서 언제나 고생하는 문제인데 버전 및 설치 환경이 바뀌니 계속 확인하면서 수정하는 방법 밖에는 없을 것 같다. 

     

     

    마지막으로 OREILLY 책이 어렵다고 생각했는데 이 책은 정보, 난이도, 현업에 적용하기 위해서도 최고라고 생각한다. 

     

     

    꼭 읽어보기를 추천 해본다. 

  • 파이썬 웹 크롤러 만들기 

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

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

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

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


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

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

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

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

    라이브러리 하나하나, 함수 인자 하나하나, 가장 많이 사용하는 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 긁적. 아님 말구.

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

배송료 안내

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

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

닫기

리뷰쓰기

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

* 리뷰 작성시 유의사항

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

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

오탈자 등록

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

도서 인증

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

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

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

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

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

닫기

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

자료실