Có cách nào đơn giản có thể thay đổi được proxy bằng Python không ạ?
Thay đổi Proxy bằng Python
Xài module selenium thử
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium import webdriver
DRIVER = webdriver.Firefox(proxy=Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': proxy,
'ftpProxy': proxy,
'sslProxy': proxy,
'noProxy': ''
}))
from selenium import webdriver
PROXY = "183.91.3.146:53281"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")
e cũng có thử dùng cách này, nhưng cũng bị lỗi như bên trên
Thiếu geckodriver rồi, download unzip
driver = webdriver.Firefox(executable_path='/your/path/to/geckodriver')
proxy = "183.91.3.146:53281"
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium import webdriver
driver = webdriver.Firefox()
DRIVER = webdriver.Firefox(executable_path='geckodriver.exe', proxy=Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': proxy,
'ftpProxy': proxy,
'sslProxy': proxy,
'noProxy': ''
}))
Chương trình không báo lỗi như Porxy thì vẫn chưa đổi ạ.
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "123.30.238.16")
profile.set_preference("network.proxy.http_port", 3128)
profile.update_preferences()
driver = webdriver.Firefox(firefox_profile=profile)
driver.get("http://whatismyipaddress.com/")
Quan trọng là phải tìm đc proxy còn sống
one more time thank you
à a ơi! Thế còn chrome e phải làm như thế nào ạ?
from selenium import webdriver
PROXY = "123.30.238.16:3128" # IP:PORT or HOST:PORT
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")
Nhớ down https://chromedriver.storage.googleapis.com/index.html?path=2.29/ về
Đây là thứ e cần ^^ . E cám ơn
bác ơi nếu giờ muốn cài proxy trực tiếp trên chrome thì làm thế nào vậy ạ
https://chrome.google.com/webstore/detail/proxy-switcher-and-manage/onnfghpihccifgojkpnnncpagjcdbjod dùng extension của chrome là đc bạn
hello anh, đoạn code này em đã chạy được, nhưng địa chỉ IP của chorme vẫn ko đổi thành: 123.30.238.16:3128
anh có thể support em ko?
Topic khá cũ rồi, nhưng mình muốn chia sẻ code ở đây, mong có thể giúp các bạn khác:
def get_proxies():
url = 'https://free-proxy-list.net/' # Trang Web lấy Proxy
response = requests.get(url)
parser = fromstring(response.text)
proxies = set()
for i in parser.xpath('//tbody/tr')[:250]:
# Kiểm tra xem: Có Anonymous không? Có SSL không?
if i.xpath('.//td[7][contains(text(),"yes")]') and i.xpath('.//td[5][contains(text(),"anonymous")]'):
# Ghép nối IP và Port thành Proxy
proxy = ":".join([i.xpath('.//td[1]/text()')[0], i.xpath('.//td[2]/text()')[0]])
proxies.add(proxy)
return proxies
Cụ thể, đoạn code trên làm 3 việc:
1. Truy cập vào Website cung cấp Proxy miễn phí: https://free-proxy-list.net/.
2. Kiểm tra xem Proxy có sử dụng SSL và là Anonymous không.
3. Ghép IP và Port vào thành Proxy hoàn chỉnh, sau đó đẩy vào Proxies Array.
Sau đó, đặt vòng lặp for loop
để xoay vòng Proxy:
for proxy in proxies:
...
chrome_options.add_argument('--proxy-server={}'.format(proxy))
...
Các bạn muốn đổi Website Proxy thì chỉ cần chỉnh phần lựa chọn Element trên Website cần lấy Proxy thôi.
Hi vọng giúp đỡ được những ai đang quan tâm đến việc thay đổi Proxy này.
em cám ơn anh đã chia sẻ, nhưng em gặp một số bug sau:
Error 1: NameError: name ‘fromstring’ is not defined
=> fixed: https://stackoverflow.com/questions/13046240/parseerror-not-well-formed-invalid-token-using-celementtree?answertab=oldest#tab-top
Error 2: AttributeError: ‘lxml.etree.XMLParser’ object has no attribute ‘xpath’
=> ?
Anh có thể send cho em code anh test được ko ạ? thanks anh.