반응형

어떠한 이유(?)로 chromedriver 를 사용하면서 proxy 를 사용해야만 할 때가 있다.

 

proxy 를 왜 사용하는지는 별도로 검색해보시길 ^^;;

 

구글 검색을 통해 여러가지 해보았지만, 아래 내용으로만 성공을 했다.

 

내가 사용한 python 버전은 3.7 이다.

 

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import chromedriver_autoinstaller

chromedriver_autoinstaller.install(True)


PROXY = "proxy-server-ip:proxy-server-port"

options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://%s' % PROXY)

driver = webdriver.Chrome(options=options)

driver.get('https://icanhazip.com/')

 

공개된 무료 proxy server 가 많으니 찾아서 적용해보기 바란다.

 

 

모든 proxy server 가 모두 다 잘 적용되는 것은 아니니 여러 서버를 테스트를 해봐야 한다.

 

그리고 쉽게 사라지고 또 새로운 서버가 생겨나니 주기적으로 확인해야 한다.

 

아니면 아예 proxy server 리스트를 크롤링해서 적용하는 방법도 있겠다.

 

반응형
반응형

파이썬에 chromedriver-autoinstaller 를 적용한 후 갑자기 에러가 나서 사용을 못하는 경우가 발생했다.

 

PermissionError: [Errno 13] Permission denied 가 발생해서 보니 chromedriver_autoinstaller.install() 에서 시작되어

chromedriver.exe 의 권한없음으로 에러가 난 것이다.

 

최근 크롬이 버전업 되면서 발생한 것으로 생각된다.

Traceback (most recent call last):
  File "C:\Users\test\Desktop\test\test.py", line 14, in <module>
    chromedriver_autoinstaller.install()
  File "C:\Users\test\AppData\Local\Programs\Python\Python39\lib\site-packages\chromedriver_autoinstaller\__init__.py", line 15, in install
    chromedriver_filepath = utils.download_chromedriver(cwd)
  File "C:\Users\test\AppData\Local\Programs\Python\Python39\lib\site-packages\chromedriver_autoinstaller\utils.py", line 202, in download_chromedriver
    zip_file.extract(chromedriver_filename, chromedriver_dir)
  File "C:\Users\test\AppData\Local\Programs\Python\Python39\lib\zipfile.py", line 1616, in extract
    return self._extract_member(member, path, pwd)
  File "C:\Users\test\AppData\Local\Programs\Python\Python39\lib\zipfile.py", line 1687, in _extract_member
    open(targetpath, "wb") as target:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\test\\AppData\\Local\\Programs\\Python\\Python39\\lib\\site-packages\\chromedriver_autoinstaller\\91\\chromedriver.exe'

 

 

해결방법은 의외로 간단하다.

 

chromedriver_autoinstaller.install()

 

대신에

 

chromedriver_autoinstaller.install(True)  로 True 만 적용해주면 된다.

 

True 를 적용해주면 현재 파이썬이 실행되는 폴더에 자동으로 최신버전이 이름이 된 폴더가 생성되면서 그 폴어 안에 크롬드라이브의 최신버전이 다운로드 되면서 적용이 된다.

 

처음부터 다 다시 세팅해야 하나 걱정했는데 다행이다.

반응형

+ Recent posts