728x90
반응형
: 사건의 발단
requests 라이브러리를 통해 특정 웹사이트의 데이터를 크롤링하거나 API를 호출하였는데 <Response [403]>이 반환되었음.
: 해결 방법
이 오류는 서버가 클라이언트의 요청은 이해했지만 주로 권한 때문에 처리를 거부한다는걸 의미함.
따라서 User-Agent를 설정하여 해결할 수 있음
대부분 웹사이트는 웹 브라우저의 요청을 받고자 하여 User-Agent를 웹 브라우저처럼 설정해두면 됨.
# Before
response = requests.get(url)
# After
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
: 안봐도 됨
그렇다면 User-Agent의 기본값은 무엇인가 궁금하다면 python-requests/x.y.z(여기서 x,y,z는 라이브러리의 실제 버전 번호를 나타냄)라고 한다...
만약 이렇게 했는데도 안된다면 서버측의 문제이거나 특정 지역이나 IP 주소를 차단한 것일수도 있다고 한다.
728x90
반응형
'💻 소프트웨어(SW) > Python' 카테고리의 다른 글
[Python] json 깔끔하게 출력하는 법(dumps 사용하면 됩니다) (0) | 2023.10.05 |
---|---|
[파이썬/Python] del / remove() / pop() 함수 | 파이썬 삭제, 제거 함수 (0) | 2022.07.14 |
[파이썬 기본 자료형] - (1)숫자형(Number) (0) | 2022.07.11 |
| 0. Python이라는 언어가 도대체 뭐야? (0) | 2020.07.03 |