request는 파이썬에서 제공하는 HTTP 라이브러리이다.
기본사용법
import requests
res = requests.get(url)
res = requests.post(url)
res = requests.delete(url, data={'key':'value'})
res = requests.put(url)
여기서 결과값 res는 HTTP request에 대한 response값이다.
url = "http://google.com"
res = requests.get(url) # 해당 url로 부터 보낸 요청에대해 response 얻음
print(res.status_code) # response 확인
# response 정상인지 확인 (방법1)
if res.status_code == requests.codes.ok: # response가 200일때
print("정상입니다.")
# response 정상인지 확인 (방법2)
res.raise_for_status()
# 해당 url의 html 문서
print(res.text)
# html문서 저장하기
with open("mycrawling.html","w",encoding='utf8') as f:
f.write(res.text)
requests 를 통해 "http://nadocoding.tistory.com"을 들어갈 때 에러발생
이유는 부적절한 경로로 접근할 시 보안상으로 차단하기 때문
해당 문제를 해결하기 위한 방법이 user_agent
검색창에서 user agent string 검색해서 해당 홈페이지를 들어가면
내 컴퓨터/휴대폰의 user agent 정보를 얻을 수 있음.
물론 접속하는 브라우저 (크롬,엣지등) 에 따라 상이함
import requests
headers = {'Users-Agent':"Mozilla/5.0 ~~~"}
res = requests.get('http://nadocoding.tistory.com', headers=headers)
res.raise_for_status()
with open("nadocoding.html","w",encoding="utf8") as f:
f.write(res.text)
내용들은 전부 코딩 유튜브를 운영하고 계신 나도코딩 님의 영상을 공부하여 정리한 글입니다. 정말 설명잘하십니다. 한번 꼭 보세요!