파이썬(python) selenium(셀레니움) 크롤 block 당했을 때

조회수 2855회
from selenium import webdriver
from bs4 import BeautifulSoup
import requests

chrome_options = webdriver.ChromeOptions()
# chrome_options.add_argument('headless') # 페이지 이동을 보고싶어서 임의적으로 주석처리했습니다
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36')
chrome_options.add_argument("lang=ko_KR")
driver = webdriver.Chrome('/Applications/chromedriver',chrome_options=chrome_options)

driver.get("https://www.whoscored.com/")

우선 후스코어드라는 사이트에서 필요한 정보가 있어서 크롤 중이였는데 블락을 당해버렸네요...

사이트 오픈 에러 메세지는

www.whosocred.com = Access Denied
Error code 15
This request was blocked by the security rules
날짜 ~~
Your IP xxxxxxxxxxxxxx \ Proxy IP xxxxxxxxxxxxxxxxx
Incident ID: ~~~~~~~~~~~~~~~~~~~
powered by imperva

이런식으로 떴습니다....이렇게 블락 당했을 때는 어떻게 다시 크롤 시도해야되나요?

  • 기술적으로는 그쪽에서 어떻게 찾아서 블락했는지는 모르므로 삽질뿐입니다. id를 바꿔서 시도해 보시고 id를 바꿔도 안되면 ip를 변경하고 그것도 안되면 둘 다 변경해서 시도를 해 보셔야 하는 거겠죠. proxy를 다른쪽으로 태우는걸 시도해 볼 만 하겠네요. 어짜피 그쪽 차단 알고리즘을 모두 아는게 아닌 이상에야 우회 방식도 한계가 있을 수 밖에 없겠지만요. doodoji 2019.7.16 15:41
  • 다만 도의적으로 봤을 때, 차단 당했으면 더 하지 않는 게 좋습니다. 그 페이지도 정보를 보려고 오는 사용자들을 상대로 페이지 광고 수익을 내는 BM이 있는거고, 그 핵심이 되는 정보를 대가 혹은 계약 없이 긁어가는 거잖아요? 상도덕 문제를 떠나서 질문자님께 불이익이 올 가능성이 있어서 드리는 말입니다. 뭐 개인적인 편의를 위한 기능이라면 큰 문제 없겠지만 그 정보를 가지고 또 다른 수익을 내는 서비스를 만드는 거면 심사숙고해 보세요. doodoji 2019.7.16 15:47
  • 네 말씀 감사합니다 김재민 2019.7.16 22:46

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

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

(ಠ_ಠ)
(ಠ‿ಠ)