Mới! |Một lần gọi API, nhận dữ liệu sạch. Không cần scraper.Nhận 10,000 token miễn phí →

Python Python (4). Cách sử dụng Selenium với Python và Proxy

Khám phá sức mạnh của Selenium với Python và tận dụng proxy để web scraping và tự động hóa hiệu quả. Nâng cao quá trình thu thập dữ liệu của bạn với máy chủ proxy giá rẻ của FineProxy.

Đã đăng4 tháng 6, 2024
Thời gian đọc3 phút
Tác giảBrandon Perry

Khi làm việc với tính năng quét web hoặc tự động hóa bằng Selenium và Python, việc sử dụng proxy có thể là điều cần thiết để tránh các lệnh cấm IP và cải thiện hiệu quả thu thập dữ liệu của bạn. Bài viết này sẽ hướng dẫn bạn thiết lập và sử dụng proxy trong Selenium bằng Python.

Selenium là gì và tại sao cần sử dụng Proxy?#

Selenium là một công cụ mạnh mẽ để tự động hóa trình duyệt web, thường được sử dụng để quét web và thử nghiệm các ứng dụng web. Proxy là các máy chủ trung gian giữa người dùng cuối và các trang web họ truy cập, giúp che giấu địa chỉ IP và quản lý lượng yêu cầu.

Thiết lập Selenium với Proxy#

Trước khi bắt đầu viết code, hãy đảm bảo rằng bạn đã cài đặt các công cụ cần thiết:

  • Python
  • Selenium (pip install selenium)
  • Trình điều khiển web browser (ví dụ: ChromeDriver cho Chrome hoặc GeckoDriver cho Firefox)

Hướng dẫn từng bước sử dụng proxy trong Selenium#

1. Thiết lập Chrome với Proxy#

Để định cấu hình Chrome để sử dụng máy chủ proxy, bạn cần thiết lập các khả năng mong muốn trong Selenium.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Specify proxy details
proxy = "your_proxy_ip:port"

# Set up Chrome options
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Proxy với Xác thực#

Nếu proxy của bạn yêu cầu xác thực, bạn có thể sử dụng Proxy class từ selenium.webdriver.common.proxy.

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# Proxy settings
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = "your_proxy_ip:port"
proxy.ssl_proxy = "your_proxy_ip:port"
proxy.add_argument('--proxy-auth=user:password')

capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

# Initialize WebDriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), desired_capabilities=capabilities)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Sử dụng Firefox với Proxy#

Để định cấu hình Firefox để sử dụng proxy, hãy sửa đổi cài đặt cấu hình Firefox.

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager

# Proxy details
proxy_ip = "your_proxy_ip"
proxy_port = "port"

# Set up Firefox profile
profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", proxy_ip)
profile.set_preference("network.proxy.http_port", int(proxy_port))
profile.set_preference("network.proxy.ssl", proxy_ip)
profile.set_preference("network.proxy.ssl_port", int(proxy_port))

# Initialize WebDriver
driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()), firefox_profile=profile)

# Open a website to verify the proxy
driver.get("http://whatismyipaddress.com")

# Close the browser
driver.quit()

Khắc phục sự cố thường gặp#

Xác thực Proxy: Nếu proxy của bạn yêu cầu đăng nhập, hãy đảm bảo thông tin đăng nhập được đặt chính xác.

Chặn IP: Một số trang web có thể vẫn chặn proxy. Sử dụng proxy dân cư hoặc proxy xoay vòng để giảm thiểu vấn đề này.

Bản tóm tắt#

Sử dụng proxy với Selenium và Python có thể giúp bạn vượt qua các hạn chế IP và nâng cao các dự án web scraping của mình. Cho dù sử dụng Chrome hay Firefox, việc thiết lập proxy liên quan đến việc cấu hình các tùy chọn trình duyệt và khả năng để định tuyến lưu lượng truy cập qua máy chủ proxy.

Trình duyệtPhương pháp Thiết lậpXác thựcCó sẵn Đoạn mã
ChromeTùy chọn ChromeĐúngĐúng
FirefoxFirefoxProfileĐúngĐúng

Bằng cách làm theo các bước này, bạn có thể đảm bảo hoạt động thu thập dữ liệu của mình không bị gián đoạn và hiệu quả. Nếu bạn có bất kỳ câu hỏi hoặc ý tưởng nào cho các hướng dẫn trong tương lai, vui lòng để lại nhận xét!