파이썬(Python) 크롤링 403 forbidden 오류





파이썬으로 크롤링을 시도하던 중 403 Foribidden 에러가 났습니다.
구글링을 해보니 원인은 requests로 접근하는걸 비정상적인 접근으로 보고 차단하는 것 같더군요.

1
2
3
4
5
6
7
import requests from bs4 import BeautifulSoup URL = 'http://www.naver.com' res = requests.get(URL) soup = BeautifulSoup(res.text) print(soup)

위는 예시 코드 입니다. 위 코드는 실행하면 네이버 html 소스를 잘 읽어옵니다(...)
하지만 저희는 저걸 403 Foribidden이 발생하는 소스라고 치고 
해결 방법은 간단했습니다.

1
2
3
4
5
6
7
8
9
import requests from bs4 import BeautifulSoup headers = {'User-Agent': 'Mozilla/5.0'} URL = 'http://www.naver.com' res = requests.get(URL, headers=headers) soup = BeautifulSoup(res.text) print(soup)

위와 같이 중간에 headers를 선언해주고
requests를 호출 할때 헤더정보를 넣어주면 됩니다
헤더정보를 넣는 방법은 아래와 같이 여러 가지가 있지만
제가 크롤링하려던 사이트는 위와 같은 간단한 소스로 해결이 되었습니다


headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
headers = {'User-Agent':'Chrome/66.0.3359.181'}
headers = {'User-Agent':'Mozilla/5.0', 'referer' : 'http://www.naver.com'}
파이썬(Python) 크롤링 403 forbidden 오류 파이썬(Python) 크롤링 403 forbidden 오류 Reviewed by kukanuc on 2월 18, 2019 Rating: 5

댓글 없음:

Powered by Blogger.