기본 콘텐츠로 건너뛰기

8월, 2023의 게시물 표시

Tor를 활용해서 Python Selenium 크롤링 IP차단 우회하기

N잡러가 되기 위해 특정 사이트를 주기적으로 (1시간에 3회) 크롤링해오는 코드를 짰다. 1. 파이썬크롤링 후 웹페이지에 게시하고  2. 주문접수 폼에서 주문을 받아서 3. 받은 폼 정보를 기반으로 풀 자동화를 통해  물건을 판매를 알선하고 원 판매자로부터 수수료를 받는 부업! 헌데... 모든 코드 작성과 테스트가 끝날 무렵 나를 충격에 빠트린것이 있었으니... 바로.. IP가 차단 된 것이다. 판매자와 일종의 동업자(라고 말하고 하청업자라고 읽는다) 관계지만 그래도.. IP차단이라니.. 하지만 판매자는 판매자일 뿐 개발자가 아니기도 하고.. 이렇게 내가 편하게 수익을 가져가게 되는 것을 알게되신다면... 수수료를 낮추실 수도 있어 risky하다. 하핳... 그래서! Tor라는 솔루션을 활용해 IP차단을 우회했다. 먼저 기존 코드를 건드리기보다는 테스트를 위한 코드를 작성했는데 그 코드를 공유한다. from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager #Chrome webdriver 를 자동으로 다운받도록 추가 import os # To use Tor's SOCKS proxy server with chrome, include the socks protocol in the scheme with the --proxy-server option # PROXY = "socks5://127.0.0.1:9150" # IP:PORT or HOST:PORT torexe = os.popen( r'/opt/homebrew/bin/tor/' ) PROXY = "socks5://localhost:9050" # IP:PORT or HOST:PORT service = Service( executable_path =ChromeDrive