[Chapter 02] 데이터 수집하기 - 2 웹 스크래핑 사용하기

Kim Seohyun·2023년 1월 15일
0
post-thumbnail

웹 스크랩핑, 뷰티플수프
공개 API에서 데이터를 수집하는 과정은 비교적 자동화하기 쉽습니다. 하지만 이런 데이터 소스를 사용할 수 없고 원하는 데이터가 인터넷 웹 페이지에 있다면 직접 HTML의 내용을 읽어 원하는 정보를 뽑아내야 합니다. 이 방식은 최후의 수단이지만 이따금 필요할 때가 있습니다. 이 절에서 웹사이트에 접속해서 필요한 정보를 가져오는 방법을 배워보겠습니다.

도서 쪽수를 찾아서

검색 결과 페이지 가져오기

HTML에서 데이터 추출하기: 뷰티플수프

전체 도서의 쪽수 구하기

웹 스크랩핑할 때 주의할 점

좀 더 알아보기

merge() 함수의 매개변수

정리

2가지 키워드로 정리하는 핵심 포인트

  • 웹 스크랩핑: 웹사이트에서 필요한 데이터를 추출하는 기술로, HTML은 구조적이지 않기 때문에 스크랩핑으로 데이터를 수집하는데 비교적 많은 노력이 필요하기 때문에 웹 스크랩핑을 사용하기 전에 먼저 공개 API를 통해 사용할 수 있는지 살펴보는 것이 좋음
  • 뷰티플수프: HTML 문서를 파싱하는데 사용하는 대표적인 파이썬 패키지로, 사용법이 쉽고 빠르기 떄문에 파이썬 프로그래머들이 즐겨 사용하며 뷰티프수프는 requests 패키지로 가져온 HTML에서 원하는 태그나 텍스트를 찾는 기능을 제공함

표로 정리하는 핵심 함수와 메서드

함수/메서드기능
loc레이블 또는 불리언 배열로 데이터 프레임의 행과 열을 선택, 정수로 지정하려면 인덱스의 레이블로 간주, 불리언 배열로 지정할 경우 배열의 길이는 행 또는 열의 전체 길이와 같아야 함
BeautifulSoup.find()현재 태그 아래의 자식 태그 중에서 지정된 이름에 맞는 첫 번째 태그를 찾는데 첮은 태그가 없을 경우 None이 반환됨
BeautifulSoup.find_all()현재 태그 아래의 자식 태그 중에서 지정된 이름에 맞는 모든 태그를 찾는데 뷰티플수프 객체를 함수처럼 호출할 경우 자동으로 find_all() 메서드가 호촐되고 찾은 태그가 없을 경우 빈 리스트가 반환됨
BeautifulSoup.get_text()태그 안의 텍스트를 반환
DataFrame.apply()데이터프레임의 행 또는 열에 지정한 함수를 적용
pandas.merge()데이터프레임이나 시리즈 객체를 합침
profile
EWHA Cyber Security 19

0개의 댓글