인프런 파이썬 입문 수업을 듣고 중요한 내용을 정리했습니다.
개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
크롤링 라이브러리 비교(Python)
예제를 통해 두 개의 라이브러리 사용법을 비교해보고자 한다.
requests 라이브러리 사용 예시
import requests
from bs4 import BeautifulSoup
res = requests.get('https://davelee-fun.github.io/')
soup = BeautifulSoup(res.content, 'html.parser')
data = soup.select('h4.card-text')
for item in data:
print(item.get_text().strip())
```
결과 :
상품명: 보몽드 순면스퀘어 솔리드 누빔매트커버, 다크블루
상품명: 슈에뜨룸 선인장 리플 침구 세트, 베이지
상품명: 선우랜드 레인보우 2단 문걸이용 옷걸이 _중형, 화이트, 상세페이지참조
상품명: 보드래 헬로우 누빔 매트리스커버, 핑크
상품명: 보드래 퍼펙트 누빔 매트리스커버, 차콜
상품명: 피아블 클래식 방수 매트리스커버, 화이트
상품명: 더자리 에코항균 마이크로 매트리스커버, 밀키차콜그레이
상품명: 더자리 프레쉬 퓨어 매트리스 커버, 퓨어 차콜그레이
상품명: 몽쉐어 알러스킨 항균 매트리스 커버, 카키그레이
상품명: 쿠팡 브랜드 - 코멧 홈 40수 트윌 순면 100% 홑겹 매트리스커버, 그레이
상품명: 패브릭아트 항균 마이크로 원단 매트리스 커버, 아이보리
상품명: 바숨 순면 누빔 침대 매트리스커버, 차콜
상품명: WEMAX 다용도 문옷걸이, 화이트, 1개
상품명: 타카타카 프리미엄 나노 화이바 누빔 매트리스 커버, 젠틀핑핑
상품명: 보몽드 순면스퀘어 누빔매트커버, 다크그레이
상품명: 보드래 국내산 순면 60수 누빔 매트리스커버, 그레이
```
urllib 라이브러리 사용 예시
from urllib.request import urlopen
from bs4 import BeautifulSoup
res = urlopen('https://davelee-fun.github.io/')
soup = BeautifulSoup(res, 'html.parser')
data = soup.select('h4.card-text')
for item in data:
print(item.get_text().strip())
```
결과 :
상품명: 보몽드 순면스퀘어 솔리드 누빔매트커버, 다크블루
상품명: 슈에뜨룸 선인장 리플 침구 세트, 베이지
상품명: 선우랜드 레인보우 2단 문걸이용 옷걸이 _중형, 화이트, 상세페이지참조
상품명: 보드래 헬로우 누빔 매트리스커버, 핑크
상품명: 보드래 퍼펙트 누빔 매트리스커버, 차콜
상품명: 피아블 클래식 방수 매트리스커버, 화이트
상품명: 더자리 에코항균 마이크로 매트리스커버, 밀키차콜그레이
상품명: 더자리 프레쉬 퓨어 매트리스 커버, 퓨어 차콜그레이
상품명: 몽쉐어 알러스킨 항균 매트리스 커버, 카키그레이
상품명: 쿠팡 브랜드 - 코멧 홈 40수 트윌 순면 100% 홑겹 매트리스커버, 그레이
상품명: 패브릭아트 항균 마이크로 원단 매트리스 커버, 아이보리
상품명: 바숨 순면 누빔 침대 매트리스커버, 차콜
상품명: WEMAX 다용도 문옷걸이, 화이트, 1개
상품명: 타카타카 프리미엄 나노 화이바 누빔 매트리스 커버, 젠틀핑핑
상품명: 보몽드 순면스퀘어 누빔매트커버, 다크그레이
상품명: 보드래 국내산 순면 60수 누빔 매트리스커버, 그레이
```
from urllib.request import urlopen 코드는 urllib 라이브러리 안에 존재하는 request 클래스의 urlopen() 함수를
사용한다는 의미이다. (이는 requests 라이브러리에서 get() 함수를 사용하는 것과 동일한 원리이다.)
결국 웹 페이지를 가져오는 방법이 다른 것일 뿐, 웹 페이지를 분석하는 방법은 동일하다.(두 방법 모두 bs4 사용)
참고
- requests 라이브러리 vs urllib 라이브러리
기존에는 크롤링을 할 때, urllib 라이브러리와 bs4를 세트로 많이 사용했다.
하지만 최근에는 requests 라이브러리와 bs4를 세트로 많이 사용한다.
따라서 requests 라이브러리를 사용해서 크롤링을 먼저 시도해보고, 문제가 발생하는 경우에만 urllib 라이브러리를
사용해서 재차 크롤링을 시도해보는 것이 좋다.
또한, 기존 코드들 중에서 urllib 라이브러리를 사용해서 크롤링을 한 경우도 있기 때문에 간단히 사용법 정도만 알고
있는 것이 좋다.
'Python' 카테고리의 다른 글
Python - 엑셀파일과 크롤링 (0) | 2021.11.01 |
---|---|
Python - 크롤링 기법 (0) | 2021.10.31 |
Python - 크롤링 실전 연습(1) (0) | 2021.10.31 |
Python - CSS selector를 활용한 크롤링 (0) | 2021.10.29 |
Python - 크롤링 기술 팁 (0) | 2021.10.29 |
댓글