Python 갑자기 웹스크래핑 사이트에서 거부

조회수 366회

안녕하세요.

주식 사이트 스크래핑 중 갑자기 접속 거부 현상이 발생하여 문의드립니다.

Error code는 아래와 같습니다. requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://www.investing.com/equities/alibaba

구글링을 해보면 대부분 로봇 감지를 피하기 위해 headers에 User Agent 설정하라고만 되어 있습니다. 해당 부분은 이미 코드에 적용이 되어 있었고 크롤링을 잘 하고 있었는데 어느날 부터 거부가 되고 있습니다.

먼저 user-agent를 random으로 보내고자 fakeuseragent도 해보고 random user agent도 해보았으나 항상 거부되고 있으며, IP 거부인지를 확인하기 위해 VPN 이용하여 IP 변경하여 시도해 보았으나 그래도 거부되고 있습니다. IP 정보를 통한 거부라면 크롤링이 아닌 정상 접속시에도 거부 되어야 하는데 정상 접속시에는 잘 되는것으로 보아 IP는 아닌것 같습니다.

마지막으로 찾은게 Referer Control로 접속 시 어디에서 왔는지 정보가 없다면 로봇으로 감지될 수 있다고 하더라구요. 그래서 Referer Control 확장프로그램을 설치는 했는데 사용 방법에 대한 정보를 찾을 수가 없네요. ㅎㅎ

코드는 아래와 같습니다.

url = "https://www.investing.com/equities/alibaba"

ua = generate_user_agent()

headers = {"User-agent":ua}

res = requests.get(url,headers=headers)

print("응답코드 :", res.status_code)

res.raise_for_status()

print("시작")

다른 사이트들은 문제가 없고 그동안 스크래핑 하던 investing.com 사이트에서만 403 Client Error가 발생합니다.

도움 부탁합니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)