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

자동화된 나만의 웹 크롤러로 원하는 데이터 끌어오기
$31.75
SKU
9791169213240
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Wed 03/12 - Tue 03/18 (주문일로부 10-14 영업일)

Express Shipping estimated by Fri 03/7 - Tue 03/11 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2025/01/31
Pages/Weight/Size 183*235*16mm
ISBN 9791169213240
Categories IT 모바일 > 네트워크/해킹/보안
Description
다양한 웹에서 효율적으로 데이터를 수집하는 방법 A to Z

오늘날 데이터가 넘쳐나는 웹에서 웹 크롤러로 할 수 있는 일은 무궁무진하다. 이 마법을 위한 준비물은 약간의 파이썬 프로그래밍 능력 하나뿐, 나머지는 이 책에 모두 담겨 있다. 이 책을 활용하면 웹 크롤링을 이용해 업무를 자동화하고, 복잡한 웹 콘텐츠를 처리하는 통찰력을 얻게 될 것이다. 새롭게 3판으로 개정된 이 책은 전반적인 코드를 최신화하고 실무에서 활용할 수 있는 예제를 추가했다. 또한 브라우저 자동화를 위한 셀레니움, 정확한 데이터 추출을 위한 XPath도 함께 다fns다. 복잡한 웹 세상에서 효율적으로 데이터를 수집하고 싶은, ‘일상의 데이터 분석가’를 꿈꾸는 모두에게 이 책은 가장 정확한 나침반이 되어 줄 것이다.
Contents
[PART 1 웹 스크레이퍼 제작]

CHAPTER 1 인터넷 작동 원리

_1.1 네트워킹
__1.1.1 물리 계층
__1.1.2 데이터 링크 계층
__1.1.3 네트워크 계층
__1.1.4 전송 계층
__1.1.5 세션 계층
__1.1.6 표현 계층
__1.1.7 응용 계층
_1.2 HTML
_1.3 CSS
_1.4 자바스크립트
_1.5 개발자 도구로 웹사이트 검사하기

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

_2.1 상표? 저작권? 특허?
__2.1.1 저작권법
_2.2 동산 침해
_2.3 컴퓨터 사기와 악용에 관한 법률
_2.4 robots.txt와 이용 약관
_2.5 세 가지 웹 스크레이퍼 사례
__2.5.1 이베이 vs. 비더스 에지: 동산 침해
__2.5.2 미국 vs. 오언하이머: 컴퓨터 사기와 악용에 관한 법률
__2.5.3 필드 vs. 구글: 저작권과 robots.txt

CHAPTER 3 웹 스크레이핑 활용 분야

_3.1 프로젝트 분류하기
_3.2 이커머스
__3.2.1 마케팅
_3.3 학술 연구
_3.4 제품 개발
_3.5 여행
_3.6 영업
_3.7 SERP 스크레이핑

CHAPTER 4 첫 번째 웹 스크레이퍼

_4.1 주피터 노트북 설치 및 실행
_4.2 연결
_4.3 BeautifulSoup 소개
__4.3.1 BeautifulSoup 설치
__4.3.2 BeautifulSoup 실행
__4.3.3 신뢰할 수 있는 연결과 예외 처리

CHAPTER 5 고급 HTML 분석

_5.1 다시 BeautifulSoup
__5.1.1 find()와 find_all()
__5.1.2 기타 BeautifulSoup 객체
__5.1.3 트리 이동
_5.2 정규 표현식
_5.3 정규 표현식과 BeautifulSoup
_5.4 속성에 접근하기
_5.5 람다 표현식
_5.6 닭 잡는 데 소 잡는 칼을 쓸 필요는 없습니다

CHAPTER 6 크롤링 시작하기

_6.1 단일 도메인 내의 이동
_6.2 전체 사이트 크롤링
__6.2.1 전체 사이트에서 데이터 수집
_6.3 인터넷 크롤링

CHAPTER 7 웹 크롤링 모델

_7.1 객체 계획 및 정의
_7.2 다양한 웹사이트 레이아웃 다루기
_7.3 크롤러 구성
__7.3.1 검색을 통한 사이트 크롤링
__7.3.2 링크를 통한 사이트 크롤링
__7.3.3 여러 페이지 유형 크롤링
_7.4 웹 크롤러 모델에 대한 생각

CHAPTER 8 스크레이피

_8.1 스크레이피 설치
__8.1.1 새 스파이더 초기화
_8.2 간단한 스크레이퍼 작성하기
_8.3 규칙에 의한 스파이더링
_8.4 항목 만들기
_8.5 항목 출력하기
_8.6 파이프라인
_8.7 스크레이피 로깅
_8.8 마치며

CHAPTER 9 데이터 저장

_9.1 미디어 파일
_9.2 데이터를 CSV로 저장
_9.3 MySQL
__9.3.1 MySQL 설치
__9.3.2 기본 명령어
__9.3.3 파이썬과 통합
__9.3.4 데이터베이스 테크닉과 모범 사례
__9.3.5 여섯 다리와 MySQL
_9.4 이메일

[PART 2 고급 스크레이핑]

CHAPTER 10 문서 읽기

_10.1 문서 인코딩
_10.2 텍스트
__10.2.1 텍스트 인코딩과 인터넷
_10.3 CSV
__10.3.1 CSV 파일 읽기
_10.4 PDF
_10.5 마이크로소프트 워드와 .docx

CHAPTER 11 지저분한 데이터 다루기

_11.1 텍스트 정리하기
_11.2 정규화된 텍스트 다루기
_11.3 판다스로 데이터 정리하기
__11.3.1 정리
__11.3.2 인덱싱, 정렬, 필터링
__11.3.3 판다스에 대해 더 알아보기

CHAPTER 12 자연어 읽고 쓰기

_12.1 데이터 요약
_12.2 마르코프 모델
__12.2.1 케빈 베이컨의 여섯 다리: 결론
_12.3 자연어 툴킷
__12.3.1 설치
__12.3.2 NLTK를 사용한 통계적 분석
__12.3.3 NLTK를 사용한 사전적 분석
_12.4 마치며

CHAPTER 13 폼과 로그인 뚫기

_13.1 파이썬 requests 라이브러리
_13.2 기본적인 폼 전송
_13.3 라디오 버튼, 체크박스, 기타 필드
_13.4 파일과 이미지 전송
_13.5 로그인과 쿠키 처리
__13.5.1 HTTP 기본 접근 인증
_13.6 기타 폼 문제

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

_14.1 자바스크립트에 관한 간단한 소개
__14.1.1 널리 쓰이는 자바스크립트 라이브러리
_14.2 Ajax와 DHTML
_14.3 셀레니움으로 파이썬에서 자바스크립트 실행
__14.3.1 셀레니움 설치 및 실행
__14.3.2 셀레니움 선택자
__14.3.3 페이지 로딩 대기
__14.3.4 XPath
_14.4 그 밖의 셀레니움 웹드라이버
_14.5 리다이렉트 처리
_14.6 자바스크립트에 대한 마지막 노트

CHAPTER 15 API를 통한 크롤링

_15.1 API에 대한 간단한 소개
__15.1.1 HTTP 메서드와 API
__15.1.2 API 응답에 대해
_15.2 JSON 파싱
_15.3 문서화되지 않은 API
__15.3.1 문서화되지 않은 API 찾기
__15.3.2 문서화되지 않은 API 문서화하기
_15.4 API와 다른 데이터 소스의 결합
_15.5 마치며

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

_16.1 라이브러리 개관
__16.1.1 필로
__16.1.2 테서랙트
__16.1.3 넘파이
_16.2 형식이 일정한 텍스트 처리
__16.2.1 이미지 자동 조정
__16.2.2 웹사이트 이미지에서 텍스트 스크레이핑하기
_16.3 CAPTCHA 읽기와 테서랙트 훈련
__16.3.1 테서랙트 훈련
_16.4 CAPTCHA 가져오기와 답 보내기

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

_17.1 스크레이핑의 윤리에 관해
_17.2 사람처럼 보이기
__17.2.1 헤더를 수정하십시오
__17.2.2 쿠키 처리
__17.2.3 TLS 핑거프린팅
__17.2.4 타이밍이 가장 중요합니다
_17.3 널리 쓰이는 폼 보안 기능
__17.3.1 숨긴 필드 값
__17.3.2 허니팟 피하기
_17.4 사람처럼 보이기 위한 체크리스트

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

_18.1 테스트 입문
__18.1.1 단위 테스트란?
_18.2 파이썬 unittest
__18.2.1 위키백과 테스트
_18.3 셀레니움을 사용한 테스트
__18.3.1 사이트 조작

CHAPTER 19 병렬 웹 스크레이핑

_19.1 프로세스 vs. 스레드
_19.2 멀티스레드 크롤링
__19.2.1 경쟁 상태와 큐
__19.2.2 threading 모듈
_19.3 멀티 프로세스
__19.3.1 멀티프로세스 크롤링
__19.3.2 프로세스 간 통신
_19.4 멀티프로세스 크롤링의 다른 접근법

CHAPTER 20 웹 스크레이핑 프록시

_20.1 원격 서버를 쓰는 이유
__20.1.1 IP 주소 차단 방지
__20.1.2 이동성과 확장성
_20.2 토르
__20.2.1 파이삭스
_20.3 원격 호스팅
__20.3.1 웹사이트 호스팅 계정에서 실행
__20.3.2 클라우드에서 실행
__20.3.3 미래를 향해
_20.4 웹 스크레이핑 프록시
__20.4.1 스크레이핑비
__20.4.2 스크레이퍼API
__20.4.3 옥시랩스
__20.4.4 자이트
_20.5 마치며
Author
라이언 미첼,최경현
웹 크롤링, 보안, 데이터 과학에 관심이 많은 개발자. 현재 거슨 레만 그룹에서 수석 소프트웨어 엔지니어로 근무하고 있다. 프랭클린 W. 올린 공과대학교를 졸업했고 하버드 대학교에서 소프트웨어 엔지니어링 석사 과정을 밟았다. 어바인에서 웹 크롤러와 봇을 만들었고, 링크 드라이브에서는 API 및 데이터 분석 도구를 만들었다. 금융업 및 유통업 분야에서 웹 크롤링 프로젝트 컨설팅을 하고 있고, 교육과 강연 활동도 활발하게 펼치고 있다. 저서로 『파이썬으로 웹 크롤러 만들기』 『Instant Web Scraping with Java』(Packt, 2013) 등이 있다.
웹 크롤링, 보안, 데이터 과학에 관심이 많은 개발자. 현재 거슨 레만 그룹에서 수석 소프트웨어 엔지니어로 근무하고 있다. 프랭클린 W. 올린 공과대학교를 졸업했고 하버드 대학교에서 소프트웨어 엔지니어링 석사 과정을 밟았다. 어바인에서 웹 크롤러와 봇을 만들었고, 링크 드라이브에서는 API 및 데이터 분석 도구를 만들었다. 금융업 및 유통업 분야에서 웹 크롤링 프로젝트 컨설팅을 하고 있고, 교육과 강연 활동도 활발하게 펼치고 있다. 저서로 『파이썬으로 웹 크롤러 만들기』 『Instant Web Scraping with Java』(Packt, 2013) 등이 있다.