개발 관련/python
[crawling] HTTP error 403
홍비
2022. 1. 12. 13:13
웹 크롤링이 필요해서 다음과 같은 코드를 실행했다.
from bs4 import BeautifulSoup
from urllib.request import urlopen
url = '크롤링하고자 하는 URL'
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
soup
하지만 다음과 같은 오류가 발생했다.
403 에러는 서버가 클라이언트의 접근을 거부할 때 생기는 응답 코드이다.
크롤링 코드는 제대로 작동되지 않았으나, 웹 사이트는 잘 들어가지는 것을 보면 서버에서 크롤링을 막고 있는 것이라고 생각했다.
때문에 다음과 같이 headers를 추가했다. 또한 urllib.request의 Request도 추가해주었다.
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
url = Request('크롤링하고자 하는 URL', headers={'User-Agent': 'Mozilla/5.0'})
html = urlopen(url)
soup = BeautifulSoup(html, 'html.parser')
soup
제대로 잘 가져오는 것을 확인했다.