[Crawling] 1. request

최창우·2022년 9월 6일
0

Crawling

목록 보기
1/3
post-thumbnail

📜 request에 대해서 알아보자.

📕 request 사용하기

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값이다.

📖 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() 

📖 html 문서 가져오기 & 저장하기

# 해당 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)

📚 Reference

내용들은 전부 코딩 유튜브를 운영하고 계신 나도코딩 님의 영상을 공부하여 정리한 글입니다. 정말 설명잘하십니다. 한번 꼭 보세요!

profile
유능한 개발자가 되고 싶은 헬린이

0개의 댓글