인프런에서 나도코딩님의 강의를 듣고 복습하며 내용을 정리했다
전체 소스코드
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 |
댓글