아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다.
'부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다.
댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다.
감사합니다.
먼저 웹 크롤링을 시작하기에 앞서 HTTP 요청 및 URL 작업을 위한 모듈에 대해 알아보자
Python에서는 대표적으로 'requests' 와 'urllib' 라는 두 모듈이 있다.
Requests
requests 모듈은 Python에서 HTTP 요청을 보낼 수 있는 모듈이다.
URL과 Parameter를 통해 요청을 보내고 응답(Response)를 받는다.
Response 객체
요청(request)을 보내면 응답(response)를 받는데, 이 응답은 Python의 객체로 받게 된다.
response에는 여러가지 정보와 기능을 갖고 있는데, 몇가지만 살펴보면
![](https://blog.kakaocdn.net/dn/2ghEv/btrS7KELrkH/9M1MIuujxGhlauck2EfdKK/img.png)
response 객체에서 쓸 수 있는 기능들
- status_code : 응답 코드
- request : 내가 보낸 request 객체에 접근
- text : 응답받은 HTML을 문자열로 반환
- raise_for_status : 응답 코드가 200이 아닌 경우 에러 발동
- json : response 가 json 타입일 경우 딕셔너리 타입으로 변환
등의 기능이 있다.
아래는 Requests를 통해 응답을 받는 방법이다.
# response 객체 => html 페이지
url = 'http://www.naver.com'
response = requests.get(url)
response.status_code
html_str = response.text
URLLIB
urllib 는 url 작업을 위한 모듈을 모은 파이썬 패키지이다.
urllib.request는 URL을 가져올 수 있는 파이썬 모듈
urlopen 함수를 사용하여 html 문서를 가져올 수 있다.
response.status 는 해당 통신이 성공적인지 응답 코드를 얻을 수 있다.
아래는 urllib 를 이용해 응답을 받는 방법이다.
with urlopen('http://www.naver.com') as response:
print(response.status)
html = response.read()
print(html)
Response 객체를 얻었으니 다음엔 BeautifulSoup 을 이용해서 html 문서를 파싱해보도록 하겠다.
'Programming Language > Python' 카테고리의 다른 글
[Python] 삼항 연산자(Ternary Operator) (0) | 2023.01.25 |
---|---|
[Python] List : Pop, Del, Remove, Slicing 속도 비교 (0) | 2023.01.19 |
[Python] 자료구조 : Hash (0) | 2022.12.27 |
[Python] map, zip, filter, enumerate 정리 (0) | 2022.12.09 |
[Web Crawling] 웹 크롤링 개요 (0) | 2022.12.09 |
댓글