본문 바로가기
python/webscraping

[Python webscraping] #1 Requests

by ohojee 2022. 12. 16.

 

인프런에서 나도코딩님의 강의를 듣고 복습하며 내용을 정리했다

전체 소스코드
import requests
res = requests.get("http://google.com")

print("응답코드 :", res.status_code) # 200이면 정상 403이면 접근권한 없음
res.raise_for_status() # 웹스크래핑하기 위해 올바른 html을 가져왔으면 오류x, 오류나면 에러뜸

# if res.status_code == requests.codes.ok: # 200으로 나온다는 뜻
#     print("정상입니다.")
# else:
#     print("문제가 생겼습니다. [에러코드 ", res.status_code, "]")

with open("mygoogle.html", "w", encoding="utf8") as f:
    f.write(res.text)
 

html의 문서정보를 가져오기 위해서는 requests 라이브러리가 필요하다

=> 터미널에 pip install requests 해서 설치를 해줘야한다

res = requests.get("http://google.com")
 

requests.get("우리가 원하는 url정보")를 통해 html 정보를 가져올 수 있다

print("응답코드 :", res.status_code)
 

실제로 페이지 접속하려고 할 때 정보를 잘 받아왔는지 접속권한이 없는지 페이지가 없는지 등

문제가 발생할 수 있다

그래서 사용하는게 .status_code인데 200이면 정상적으로 접근할 수 있고

그 외의 값이 나온다면 어딘가에 문제가 있어 접근할 수 없는 것이다

if res.status_code == requests.codes.ok: # 200으로 나온다는 뜻
    print("정상입니다.")
else:
    print("문제가 생겼습니다. [에러코드 ", res.status_code, "]")
 

html 정보를 가져오려면 먼저 접근여부부터 알아야하기 때문에

if문으로 처리해준다

하지만 이렇게 처리하는 것보다 더 간단한 방법이 있다

res = requests.get("http://google.com")
res.raise_for_status() # 웹스크래핑하기 위해 올바른 html을 가져왔으면 오류x, 오류나면 에러뜸
 

.raise_for_status()를 사용하는 것인데

웹스크래핑하기 위해 올바른 html을 가져왔으면 오류가 뜨지 않고 뒤의 코드까지 정상처리 되고

오류나면 에러가 뜬다

그래서 위의 .get() 문장과 세트라고 생각하면 좋다

 

웹스크래핑을 하려면 저 두 문장을 필수이다

 

'python > webscraping' 카테고리의 다른 글

[Python webscraping] #4 BeautifulSoup  (0) 2022.12.16
[Python webscraping] #3 User agent  (0) 2022.12.16
[Python webscraping] #2 RegExp(정규식)  (1) 2022.12.16

댓글