반응형
회사 인터넷망 위에서 Python 프로그램을 개발 중인데
Selenium 또는 Selenium-Wire 모듈을 사용하면 반드시 googlechromelabs.github.io 사이트에 접속되어야만 합니다.
하지만 제가 다니는 회사는 프록시 서버를 지나지 않는 이상 Github 사이트에 접속이 불가능하다는 사실...
방화벽 신청까지 해봤지만 결과는 반려 처리ㅜㅜ 어쩔 수 없이 프록시로...
제 코드는 3가지 모듈 (selenium-wire, selenium, request)을 사용합니다.
이 경우 Proxy 설정 방법에 관해 공유드리겠습니다.
import certifi
import json
import requests
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service
# Selenium 또는 Selnium-Wire를 사용하는 경우
def driver_load():
# webdriver 로드 #
chromedriver = ".\\chromedriver.exe"
service = Service(executable_path=chromedriver)
seleniumwire_options = {
"proxy": {
"http": "<Proxy Server>:<Proxy Port>",
"https": "<Proxy Server>:<Proxy Port>"
}
}
# Set Options
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=<Proxy Server>:<Proxy Port>')
# Set up the Chrome WebDriver
driver = webdriver.Chrome(service=service, seleniumwire_options=seleniumwire_options, options=options)
return driver
# Requests를 사용하는 경우
def request_post(post_url, params, headers):
proxies = {
"http": "<Proxy Server>:<Proxy Port>",
"https": "<Proxy Server>:<Proxy Port>",
"no_proxy": "localhost,127.0.0.1 "
}
params_json = json.dumps(params)
response = requests.post(post_url, data=params_json, headers=headers, proxies=proxies, verify=certifi.where())
return response
내용이 유용하셨다면 좋아요&댓글 부탁드립니다.
이 블로그를 이끌어갈 수 있는 강력한 힘입니다!
caul334@gmail.com
반응형
'IT > Python' 카테고리의 다른 글
[Python] Selenium wire 사용 중 Post 요청 해야하는 경우 (0) | 2024.10.11 |
---|---|
[Python] Selenium Wire 사용 시 "주의요함" 메시지 해결 방법 (0) | 2024.10.11 |
[Python] 파이썬을 이용하여 아이폰 사진 파일 이름을 찍은시간으로 변경하고 백업하는 방법 (6) | 2022.04.05 |
[Python] 정규표현식(Regex)으로 타임스탬프 형식의 파일 이름 변경하기 (8) | 2022.03.26 |
[Python] pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") (8) | 2022.03.15 |