상세정보
미리보기
파이썬으로 웹 크롤러 만들기 (2판)
- 저자
- 라이언 미첼 저/한선용 역
- 출판사
- 한빛미디어
- 출판일
- 2019-06-16
- 등록일
- 2020-04-28
- 파일포맷
- PDF
- 파일크기
- 0
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
<b>웹 어디서든 내가 원하는 데이터를 쏙쏙쏙</b></br></br>웹에 존재한다면 그것이 어떤 형태이든 데이터로 추출할 수 있다. 필요한 무기는 이 책과 파이썬뿐. BeautifulSoup, 셀레니움, 테서랙트 등 강력한 파이썬 라이브러리 사용법과 함께 API, 인증, 이미지 및 텍스트 인식, 로그인 처리 등 웹 크롤링의 기초부터 고급 기법까지 종합적으로 다루는 유일한 책. 실제 업무와 생활에 적용할 수 있는 예제가 가득하다. 2판은 예제를 추가 및 업데이트했고 모던 웹에서 거의 모든 종류의 데이터를 가져오는 방법을 포괄적으로 다룬다.
저자소개
웹 크롤링, 보안, 데이터 과학에 관심이 많은 개발자. 현재 글로벌 펀드사 헤지서브(HedgeServ)에서 시니어 개발자로 근무하고 있습니다. 프랭클린 W. 올린 공과대학교를 졸업했고 하버드 대학교에서 소프트웨어 엔지니어링 석사 과정을 밟았습니다. 어바인(Abine)에서 웹 크롤러와 봇을 만들었고, 링크드라이브(LinkeDrive)에서는 API 및 데이터 분석 도구를 만들었습니다. 금융업 및 유통업 분야에서 웹 크롤링 프로젝트 컨설팅을 하고 있고, 교육과 강연 활동도 활발하게 펼치고 있습니다. 본서 외 저서로 『Instant Web Scraping with Java』(Packt, 2013)가 있습니다.
목차
<b>Part I 스크레이퍼 제작</b></br></br><b>CHAPTER 1 첫 번째 웹 스크레이퍼</b></br>1.1 연결</br>1.2 BeautifulSoup 소개</br>__1.2.1 BeautifulSoup 설치</br>__1.2.2 BeautifulSoup 실행</br>__1.2.3 신뢰할 수 있는 연결과 예외 처리</br></br><b>CHAPTER 2 고급 HTML 분석</b></br>2.1 닭 잡는 데 소 잡는 칼을 쓸 필요는 없습니다</br>2.2 다시 BeautifulSoup</br>__2.2.1 find()와 findAll()</br>__2.2.2 다른 BeautifulSoup 객체</br>__2.2.3 트리 이동</br>2.3 정규 표현식</br>2.4 정규 표현식과 BeautifulSoup</br>2.5 속성에 접근하기</br>2.6 람다 표현식</br></br><b>CHAPTER 3 크롤링 시작하기</b></br>3.1 단일 도메인 내의 이동</br>3.2 전체 사이트 크롤링</br>__3.2.1 전체 사이트에서 데이터 수집</br>3.3 인터넷 크롤링</br></br><b>CHAPTER 4 웹 크롤링 모델</b></br>4.1 객체 계획 및 정의</br>4.2 다양한 웹사이트 레이아웃 다루기</br>4.3 크롤러 구성</br>__4.3.1 검색을 통한 사이트 크롤링</br>__4.3.2 링크를 통한 사이트 크롤링</br>__4.3.3 여러 페이지 유형 크롤링</br>4.4 웹 크롤러 모델에 대한 생각</br></br><b>CHAPTER 5 스크레이피 </b></br>5.1 스크레이피 설치</br>__5.1.1 새 스파이더 초기화</br>5.2 간단한 스크레이퍼 작성하기</br>5.3 규칙에 의한 스파이더링</br>5.4 항목 만들기</br>5.5 항목 출력하기</br>5.6 파이프라인</br>5.7 스크레이피 로깅</br>5.8 더 읽을 거리</br></br><b>CHAPTER 6 데이터 저장</b></br>6.1 미디어 파일</br>6.2 데이터를 CSV로 저장</br>6.3 MySQL</br>__6.3.1 MySQL 설치</br>__6.3.2 기본 명령어</br>__6.3.3 파이썬과 통합</br>__6.3.4 데이터베이스 테크닉과 모범 사례</br>__6.3.5 여섯 다리와 MySQL</br>6.4 이메일</br></br><b>Part II 고급 스크레이핑</b></br></br><b>CHAPTER 7 문서 읽기</b></br>7.1 문서 인코딩</br>7.2 텍스트</br>__7.2.1 텍스트 인코딩과 인터넷</br>7.3 CSV</br>__7.3.1 CSV 파일 읽기</br>7.4 PDF</br>7.5 마이크로소프트 워드와 .docx</br></br><b>CHAPTER 8 지저분한 데이터 정리하기</b></br>8.1 코드에서 정리 </br>8.2 사후 정리</br>__8.2.1 오픈리파인</br></br><b>CHAPTER 9 자연어 읽고 쓰기</b></br>9.1 데이터 요약</br>9.2 마르코프 모델</br>__9.2.1 위키백과의 여섯 다리: 결론</br>9.3 자연어 툴킷</br>__9.3.1 설치</br>__9.3.2 NLTK를 사용한 통계적 분석</br>__9.3.3 NLTK를 사용한 사전적 분석</br>9.4 추가 자료</br></br><b>CHAPTER 10 폼과 로그인 뚫기</b></br>10.1 파이썬 requests 라이브러리</br>10.2 기본적인 폼 전송</br>10.3 라디오 버튼, 체크박스, 기타 필드</br>10.4 파일과 이미지 전송</br>10.5 로그인과 쿠키 처리</br>__10.5.1 HTTP 기본 접근 인증</br>10.6 기타 폼 문제</br></br><b>CHAPTER 11 자바스크립트 스크레이핑</b></br>__11.1.1 널리 쓰이는 자바스크립트 라이브러리</br>11.2 Ajax와 DHTML</br>__11.2.1 셀레니움으로 파이썬에서 자바스크립트 실행</br>__11.2.2 그 밖의 셀레니움 웹드라이버</br>11.3 리다이렉트 처리</br>11.4 자바스크립트에 대한 마지막 노트</br></br><b>CHAPTER 12 API를 통한 크롤링</b></br>12.1 API에 대한 간단한 소개</br>__12.1.1 HTTP 메서드와 API</br>__12.1.2 API 응답에 대해</br>12.2 JSON 파싱</br>12.3 문서화되지 않은 API</br>__12.3.1 문서화되지 않은 API 찾기</br>__12.3.2 문서화되지 않은 API 문서화하기</br>__12.3.3 API 자동으로 찾고 문서화하기</br>12.4 API와 다른 데이터 소스의 결합</br>12.5 마치며</br></br><b>CHAPTER 13 이미지 처리와 텍스트 인식</b></br>13.1 라이브러리 개관</br>__13.1.1 필로</br>__13.1.2 테서랙트</br>__13.1.3 파이테서랙트</br>__13.1.4 넘파이</br>13.2 형식이 일정한 텍스트 처리</br>__13.2.1 이미지 자동 조정</br>__13.2.2 웹사이트 이미지에서 텍스트 스크레이핑하기</br>13.3 CAPTCHA 읽기와 테서랙트 훈련</br>__13.3.1 테서랙트 훈련</br>13.4 CAPTCHA 가져오기와 답 보내기 </br></br><b>CHAPTER 14 스크레이핑 함정 피하기</b></br>14.1 스크레이핑의 윤리에 관해</br>14.2 사람처럼 보이기</br>__14.2.1 헤더를 수정하십시오</br>__14.2.2 쿠키 처리</br>__14.2.3 타이밍이 가장 중요합니다</br>14.3 널리 쓰이는 폼 보안 기능</br>__14.3.1 숨긴 필드 값</br>__14.3.2 허니팟 피하기</br>14.4 사람처럼 보이기 위한 체크리스트</br></br><b>CHAPTER 15 스크레이퍼로 웹사이트 테스트하기</b></br>15.1 테스트 입문 </br>__15.1.1 단위 테스트란?</br>15.2 파이썬 unittest</br>__15.2.1 위키백과 테스트</br>15.3 셀레니움을 사용한 테스트</br>__15.3.1 사이트 조작</br>15.4 unittest vs 셀레니움</br></br><b>CHAPTER 16 병렬 웹 크롤링</b></br>16.1 프로세스 vs. 스레드</br>16.2 멀티스레드 크롤링</br>__16.2.1 경쟁 상태와 큐</br>__16.2.2 threading 모듈</br>16.3 멀티프로세스 크롤링</br>__16.3.1 멀티프로세스 크롤링</br>__16.3.2 프로세스 간 통신</br>16.4 멀티프로세스 크롤링의 다른 접근법</br></br><b>CHAPTER 17 원격 스크레이핑</b></br>17.1 원격 서버를 쓰는 이유</br>__17.1.1 IP 주소 차단 방지</br>__17.1.2 이동성과 확장성</br>17.2 토어</br>__17.2.1 파이삭스</br>17.3 원격 호스팅 </br>__17.3.1 웹사이트 호스팅 계정에서 실행</br>__17.3.2 클라우드에서 실행</br>17.4 추가 자료</br></br><b>CHAPTER 18 웹 스크레이핑의 합법성과 윤리</b></br>18.1 상표? 저작권? 특허?</br>__18.1.1 저작권법</br>18.2 동산 침해</br>18.3 컴퓨터 사기와 악용에 관한 법률</br>18.4 robots.txt와 이용 약관</br>18.5 세 가지 웹 스크레이퍼 사례</br>__18.5.1 이베이 vs. 비더스 에지: 동산 침해</br>__18.5.2 미국 vs. 오언하이머: 컴퓨터 사기와 악용에 관한 법률</br>__18.5.3 필드 vs. 구글: 저작권과 robots.txt</br>18.6 미래를 향해