Selenium là một công cụ chủ yếu được sử dụng để thử nghiệm web và tự động hóa trình duyệt. Nó cho phép bạn điều khiển headless browsers theo chương trình như: mở trang web, chụp ảnh màn hình và tương tác với trang. Với sự phổ biến ngày càng tăng của JavaScript, webscraping, thì bạn có thể tìm thấy sức mạnh của Selenium trong việc xử lý các trang web động. Tuy nhiên, bạn sẽ không thể thực hiện nhiều thao tác quét hoặc kiểm tra trang web nếu không có máy chủ proxy, vì các trang web rất nghiêm ngặt đối với quá trình tự động hóa nặng. Đó là lý do tại sao bạn cần một máy chủ proxy như một máy tính trung gian giữa bạn và internet. Hướng dẫn này sẽ chỉ cho bạn cách thiết lập máy chủ proxy với Selenium bằng Python và cách xử lý xác thực proxy.

Điều kiện tiên quyết

Trước tiên, bạn cần cài đặt Python 3. Hầu hết các nền tảng đều có nó theo mặc định, vì vậy bạn có thể kiểm tra xem mình có làm như vậy không bằng lệnh sau:

python --version

Nó sẽ trả về kết quả như thế này:

Python 3.11.2

Nếu nó dẫn đến lỗi hoặc phiên bản in ra là 2.x, bạn nên tải xuống Python 3.x và làm theo hướng dẫn cài đặt để thiết lập.

Tiếp theo, khởi tạo một dự án Python mới và thêm gói liên kết Selenium Python:

pip install selenium

Selenium có thể kiểm soát nhiều trình duyệt, nhưng chúng tôi sẽ sử dụng Google Chrome vì đây là trình duyệt được sử dụng nhiều nhất. Đảm bảo bạn đã cài đặt phiên bản Chrome mới nhất.

Bây giờ, hãy thêm trình quản lý WebDriver vào dự án của bạn:

pip install webdriver-manager

Đó là gói Python giúp đơn giản hóa việc quản lý trình điều khiển. Cụ thể, nó giúp bạn không phải tải xuống phiên bản ChromeDriver mới mỗi khi Chrome được nâng cấp.

Đoạn mã dưới đây sẽ nhập các công cụ, khởi chạy một phiên bản Chrome WebDriver và sử dụng nó để truy cập một trang mục tiêu mẫu.

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

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
driver.get('https://example.com/')

Vậy là bạn vừa biết cách bắt đầu với Selenium trong Python. Hãy xem các hướng dẫn thiết lập proxy với Selenium bằng Python dưới đây.

Cách thiết lập proxy bằng Selenium Wire

Nếu bạn đã mua proxy, rất có thể bạn sẽ cần xác thực proxy của mình trước khi có thể bắt đầu sử dụng chúng. Nếu không, bạn sẽ không thể chạy nó trong Selenium. Tùy thuộc vào quy mô dự án của bạn, bạn có thể sử dụng Selenium với trình duyệt thông thường hoặc headless browser. Trong ví dụ này, chúng tôi sẽ chỉ cho bạn cách thiết lập và xác thực proxy bằng headless browser.

=>> 5 Headless Browser tốt nhất – Mua Proxy để thử nghiệm web

Trước tiên, bạn sẽ cần cài đặt Selenium Wire để mở rộng các liên kết Python của Selenium. Khi bạn cần xác thực proxy của mình, mô-đun Selenium mặc định sẽ làm cho quy trình trở nên phức tạp.

Bước 1. Cài đặt Selenium Wire và nhập WebDriver:

pip install selenium-wire
from seleniumwire import webdriver

Bước 2. Chúng tôi khuyên bạn nên cài đặt trình quản lý WebDriver để không cần tải xuống Selenium sau mỗi lần cập nhật.

pip install webdriver-manager

Bước 3. Thêm proxy của bạn vào đối số tùy chọn mà bạn chuyển đến WebDriver.

options = {
    'proxy': {
        'http': http://USER:PASSWORD@ENDPOINT',
        'https': 'https://USER:PASSWORD@ENDPOINT',
    }
}

driver = webdriver.Chrome(seleniumwire_options=options)

Cách thiết lập Proxy HTTP(S) có xác thực

Bước 1. Để xác thực proxy của bạn, bạn cần chỉ định tên người dùng và mật khẩu của mình trong URL.

options = {
    'proxy': {
        'https': 'https://USER:PASSWORD@ENDPOINT',
    }
}

Bước 2. Bạn cũng có thể đặt proxy của mình thông qua các biến môi trường. Nếu làm như vậy, bạn sẽ không cần xác định proxy của mình trong mã.

$ export HTTP_PROXY="http://ENDPOINT"

$ export HTTPS_PROXY="https://ENDPOINT"

$ export NO_PROXY="LOCALHOST,ENDPOINT"

Cách thiết lập proxy SOCKS5 có xác thực

Với proxy SOCKS5, quy trình xác thực tương tự như proxy HTTP(S). Bạn chỉ cần đặt cơ chế thành socks5. Nếu proxy của bạn không yêu cầu xác thực, hãy loại trừ ‘user’ và ‘password’. Xác thực proxy SOCKS5 của bạn bằng cách chỉ định tên người dùng và mật khẩu của bạn trong URL.

options = {
    'proxy': {
        'http': 'socks5://USER:PASSWORD@ENDPOINT',
        'https': 'socks5://USER:PASSWORD@ENDPOINT',
        'no_proxy': 'localhost,ENDPOINT'
    }
}
driver = webdriver.Chrome(seleniumwire_options=options)
Proxy SOCKS5 là lựa chọn đáng tin cậy để kết hợp với Selenium
Proxy SOCKS5 là lựa chọn đáng tin cậy để kết hợp với Selenium

Sử dụng Proxy xoay IP trong Selenium với Python

Nếu tập lệnh của bạn thực hiện một số yêu cầu trong một khoảng thời gian ngắn, máy chủ có thể coi tập lệnh đó là đáng ngờ và chặn IP của bạn. Tuy nhiên, điều đó sẽ không xảy ra với proxy xoay IP. IP cuối của bạn sẽ liên tục thay đổi để mỗi lần bạn xuất hiện với tư cách là một người dùng khác, ngăn không cho máy chủ cấm bạn. Đó là sức mạnh của proxy xoay IP.

=>> Cách sử dụng Proxy với Python Requests

Đã đến lúc tìm hiểu cách xây dựng proxy xoay IP trong Selenium bằng selenium wire. Trước tiên, bạn phải tìm một nhóm proxy. Trong ví dụ này, chúng tôi sẽ sử dụng proxy của ZingProxy.

Lưu trữ chúng trong một mảng như sau:

PROXIES = [
    'http://19.151.94.248:88',
    'http://149.169.197.151:80',
    # ...
    'http://212.76.118.242:97'
]

Sau đó, trích xuất một proxy ngẫu nhiên bằng random.choice() và sử dụng nó để khởi tạo phiên bản trình điều khiển mới:

from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import random

# the list of proxy to rotate on 
PROXIES = [
    'http://19.151.94.248:88',
    'http://149.169.197.151:80',
    # ...
    'http://212.76.118.242:97'
]

# randomly extract a proxy
random_proxy = random.choice(PROXIES)

# set the proxy in Selenium Wire
seleniumwire_options = {
    'proxy': {
        'http': f'{random_proxy}',
        'https': f'{random_proxy}',
        'verify_ssl': False,
    },
}

# create a ChromeDriver instance
driver = webdriver.Chrome(
    service=ChromeService(ChromeDriverManager().install()),
    seleniumwire_options=seleniumwire_options
)

driver.visit('https://example.com/')

# scraping logic...

driver.quit()

# visit other pages...

Lặp lại logic này mỗi khi bạn muốn truy cập một trang mới. Vậy là bạn đã xây dựng một proxy luân phiên Selenium.

Lưu ý: Hầu hết các yêu cầu sẽ không thành công nếu sử dụng nguồn proxy miễn phí, vì proxy miễn phí dễ bị lỗi. Đó là lý do tại sao bạn nên lựa chọn những proxy trả phí chất lượng cao, hoặc thử lại với thời gian chờ ngẫu nhiên.

Hãy thử kiểm tra logic xoay vòng IP đối với mục tiêu sử dụng công nghệ chống bot:

driver.visit('https://www.g2.com/products/asana/reviews')

Máy chủ mục tiêu đã phát hiện yêu cầu Selenium với proxy xoay IP dưới dạng bot và phản hồi bằng lỗi  403 Unauthorized.

Giao diện hiển thị lỗi 403 Unauthorized
Giao diện hiển thị lỗi 403 Unauthorized

Hướng dẫn này đã chỉ ra cách thiết lập proxy với Selenium bằng Python. Hãy nhớ rằng việc sử dụng proxy trong Selenium giúp bạn tránh bị cấm IP. Tuy nhiên, một số công nghệ chống thu thập dữ liệu vẫn có thể chặn bạn. Để lại những câu hỏi cần giải đáp phía dưới phần bình luận để chúng tôi có thể hỗ trợ bạn một cách nhanh nhất!

Dịch vụ proxy toàn cầu

Tin tức liên quan

Official ZingProxy 12/10/2024

Cách thêm proxy vào Chrome đang dùng tốt năm 2024

Trong thế giới mạng hiện nay, bảo mật và quyền riêng tư trực tuyến đã trở thành mối quan tâm lớn đối với nhiều người dùng. Để giải quyết vấn đề này, việc sử dụng proxy trên trình duyệt Google Chrome là một trong những giải pháp hữu ích. Proxy không chỉ giúp bạn bảo […]

Official ZingProxy 31/05/2024

Tạo Profile & Sử dụng Proxy trên trình duyệt Chrome

Mỗi ngày, hàng triệu người sử dụng trình duyệt Chrome để truy cập vào Internet, nhưng không phải ai cũng biết cách bảo vệ mình trước các mối đe dọa tiềm ẩn. Việc tạo profile và sử dụng proxy trên trình duyệt Chrome không chỉ giúp tăng cường bảo mật mà còn giúp bạn quản […]

Official ZingProxy 29/05/2024

Mua Proxy UK Giá Rẻ & Chất Lượng Cao | ZingProxy

Proxy UK là một trong những giải pháp tối ưu giúp bạn vừa đảm bảo tính bảo mật, vừa có thể trải nghiệm tốc độ truy cập cao từ các máy chủ đặt tại Vương quốc Anh. Với ZingProxy, bạn không chỉ được tận hưởng tốc độ truy cập mượt mà, mà còn được bảo […]

Official ZingProxy 21/05/2024

Proxy USA – Proxy Chất Lượng Cao Tại ZingProxy

Trong thời đại số hóa ngày nay, việc duy trì bảo mật trực tuyến và tăng cường tốc độ truy cập internet là nhu cầu thiết yếu của đa số người dùng. Proxy USA tại ZingProxy chính là giải pháp hoàn hảo để đáp ứng những yêu cầu này. Với khả năng cung cấp kết […]

Official ZingProxy 06/05/2024

Tạo nhiều profiles giả lập & Thay đổi IP cho từng giả lập

Việc tạo nhiều profiles giả lập và thay đổi IP cho từng giả lập là một cách hiệu quả để bảo vệ quyền riêng tư và tăng cường bảo mật cho người dùng khi sử dụng các thiết bị giả lập. Từ việc bảo vệ sự riêng tư đến việc phòng tránh các hình thức […]

Official ZingProxy 24/04/2024

Đăng Nhập Proxy trên IPhone

Với thời đại công nghệ ngày nay, việc sử dụng Proxy trên các thiết bị di động ngày một trở nên phổ biến bởi những công dụng hữu ích mà nó mang lại. Sử dụng Proxy trên IPhone cũng là một cách tăng cường bảo mật và ẩn danh khi duyệt web. Trong bài viết […]

Các gói Proxy phổ biến

Dân Cư IP Tĩnh
Dân Cư Xoay IP
Chơi Game
Proxy việt nam tốc độ cao, IPv4 sạch
Proxy dân cư việt nam xoay IP
Proxy USA
Proxy Việt Nam

Proxy dân cư tĩnh US

149.000 /Tháng
  • Địa chỉ IPv4 tại Mỹ, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Canada

149.000 /Tháng
  • Địa chỉ IPv4 tại Canada, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh UK, United kingdom

Proxy dân cư tĩnh UK

149.000 /Tháng
  • Địa chỉ IPv4 tại Anh (UK), random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư áo, austria

Proxy dân cư tĩnh Áo

149.000 /Tháng
  • Địa chỉ IPv4 tại Áo, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh australia, AU

Proxy dân cư tĩnh Australia

149.000 /Tháng
  • Địa chỉ IPv4 tại Australia, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Bỉ

Proxy dân cư tĩnh Bỉ

149.000 /Tháng
  • Địa chỉ IPv4 tại Bỉ, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Bulgaria

Proxy dân cư tĩnh Bulgaria

149.000 /Tháng
  • Địa chỉ IPv4 tại Bulgaria, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Brazil, tốc độ cao

Proxy dân cư tĩnh Brazil

149.000 /Tháng
  • Địa chỉ IPv4 tại Brazil, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Thụy Sĩ

Proxy dân cư tĩnh Thụy Sĩ

149.000 /Tháng
  • Địa chỉ IPv4 tại Thụy Sĩ, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh séc

Proxy dân cư tĩnh Séc

149.000 /Tháng
  • Địa chỉ IPv4 tại Séc, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Đức

Proxy dân cư tĩnh Đức

149.000 /Tháng
  • Địa chỉ IPv4 tại Đức, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Đan Mạch

Proxy dân cư tĩnh Đan Mạch

149.000 /Tháng
  • Địa chỉ IPv4 tại Đan Mạch, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Tây Ban Nha

Proxy dân cư tĩnh Tây Ban Nha

149.000 /Tháng
  • Địa chỉ IPv4 tại Tây Ban Nha, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Pháp

Proxy dân cư tĩnh Pháp

149.000 /Tháng
  • Địa chỉ IPv4 tại Pháp, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Hong Kong

Proxy dân cư tĩnh Hong Kong

149.000 /Tháng
  • Địa chỉ IPv4 tại Hong Kong, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Hungary

Proxy dân cư tĩnh Hungary

149.000 /Tháng
  • Địa chỉ IPv4 tại Hungary, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Italy

Proxy dân cư tĩnh Italy

149.000 /Tháng
  • Địa chỉ IPv4 tại Italy, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Nhật Bản

Proxy dân cư tĩnh Nhật Bản

149.000 /Tháng
  • Địa chỉ IPv4 tại Nhật Bản, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Hà Lan

Proxy dân cư tĩnh Hà Lan

149.000 /Tháng
  • Địa chỉ IPv4 tại Hà Lan, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Na Uy

Proxy dân cư tĩnh Na Uy

149.000 /Tháng
  • Địa chỉ IPv4 tại Na Uy, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Ba Lan

Proxy dân cư tĩnh Ba Lan

149.000 /Tháng
  • Địa chỉ IPv4 tại Ba Lan, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Bồ Đào Nha

Proxy dân cư tĩnh Bồ Đào Nha

149.000 /Tháng
  • Địa chỉ IPv4 tại Bồ Đào Nha, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Romania

Proxy dân cư tĩnh Romania

149.000 /Tháng
  • Địa chỉ IPv4 tại Romania, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Singapore

Proxy dân cư tĩnh Singapore

149.000 /Tháng
  • Địa chỉ IPv4 tại Singapore, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Proxy dân cư tĩnh Việt Nam

Proxy dân cư tĩnh Việt Nam

59.000 /Tháng
  • Địa chỉ IPv4 tại Việt Nam, random thành phố

  • Tùy chọn nhà mạng ISP

  • Giao thức SOCKS5/HTTP

  • Chăm sóc khách hàng 24/7

  • Không giới hạn băng thông

  • Không giới hạn thiết bị

Bạn cần tư vấn thêm dịch vụ Proxy?

Liên hệ ngay với các chuyên gia trong đội ngũ của ZingProxy ngay bây giờ.

Liên hệ
Liên Hệ