■ 특정 사이트 접속
- requests 객체를 import 한 후 get() 함수를 이용해 지정된 사이트에 접속한다.
response = requests.get(url, params, **kwargs) |
▷ url : 접속할 url 정보
▷ params : 해당 url의 파라미터 문자열 정보 입력 (dictionary 객체로 전달)
▷ **kwargs : 그 외 매개변수 (header 값)
- verify=False : SSL 인증서를 사용하는 경우
- auth=("id", "pass") : 인증이 필요한 경우
- headers = {'Content-Type': 'application/json; charset=utf-8')
- cookies = {'sessionKey': 'sessionValue'}
- timeout = 3
■ requests 모듈을 이용한 사이트 접속 후 페이지 정보 가져오기
import requests
response = requests.get('https://www.naver.com') # get 방식으로 요청
print(response.status_code) # 200
response = requests.get('https://www.naver.com/hello.html') # get 방식으로 요청
print(response.status_code) # 404에러
○ 데이터 파싱
requests.get(url).text (text 형태로 추출)
requests.get(url).content (byte 형태로 추출)
○ 상태 코드 확인
response.status_code (상태코드 확인)
■ 응답코드
- 지정된 사이트에 접속한 후 status_code 속성을 이용하면 ♂응답 코드 값을 알 수 있다.
- 응답코드 값이 200이면 정상 접속, ♂다른 값이면 요류이거나 권한이 없음을 나타내므로 상태에 따라 ♂처리를 다르게 해야 한다.
import requests
response = requests.get('http://naver.com') # 200 : 정상
print('응답코드 : ', response.status_code)
■ parameter를 이용한 검색결과 조회
- 요청을 보낼 떄 파라미터를 이용해 그 결과를 확인할 수 있다.
import requests
URL = 'https://movie.daum.net/moviedb/main'
params = {'movield':'41246'}
response = requests.get(URL, params=params)
response.raise_for_status()
with open('GoodNightAndGoodLuck.html', 'w', encoding='utf-8') as f:
f.write(response.text)
- 파라미터가 여러 개일 경우 다음과 같이 dictionary 여러 개를 주어 처리 가능
URL = 'https://comic.naver.com/webtoon/detail.nhn'
params = {'titleld':703846, 'no':144, 'weekday':'true'}
'데이터 분석 > 웹 스크래핑' 카테고리의 다른 글
[Web Scrapping] DOM (Document Object Model) (0) | 2023.10.31 |
---|---|
[Web Scrapping] 정규 표현식 (0) | 2023.10.30 |
[Web Scrapping] HTTP 요청 / 응답 (0) | 2023.10.30 |
[Web Scrapping] Web 구성 요소 - 3 (1) | 2023.10.30 |
[Web Scrapping] Web 구성 요소 - 2 (0) | 2023.10.30 |