Khi làm việc với Selenium để thu thập dữ liệu web hoặc tự động hóa, việc tích hợp proxy là điều bắt buộc. Proxy cho phép bạn bỏ qua lệnh cấm, giới hạn tốc độ và hạn chế địa lý, giúp các tác vụ của bạn liền mạch và hiệu quả. Nhưng việc cấu hình proxy trong Selenium có thể là một thách thức, đặc biệt nếu bạn đang xử lý xác thực hoặc cần theo dõi các yêu cầu HTTP. Đó là lúc Selenium Wire xuất hiện.
Selenium Wire là phiên bản mở rộng của Selenium, bổ sung thêm nhiều tính năng nâng cao bằng cách cho phép bạn dễ dàng xác thực proxy, chặn các yêu cầu và phản hồi HTTP cũng như gỡ lỗi lưu lượng mạng.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thiết lập proxy trong Selenium bằng cách sử dụng dây selen
và trình quản lý webdriver
. Thông thường, bạn cần tải xuống các tệp nhị phân cho trình điều khiển web từ trình duyệt và duy trì cập nhật thường xuyên. trình quản lý webdriver đơn giản hóa quá trình này bằng cách xử lý các tác vụ này cho bạn.
Đến cuối blog này, bạn sẽ có một thiết lập Selenium được cấu hình đầy đủ phù hợp với ProxyScrape proxy, sẵn sàng giải quyết mọi thách thức bạn gặp phải. Hãy cùng bắt đầu nhé!
Để truy cập toàn bộ tập lệnh mà không cần xem toàn bộ hướng dẫn, hãy nhấp vào liên kết này để sao chép toàn bộ mã.
Trước khi tìm hiểu cách thiết lập proxy trong Selenium, hãy đảm bảo bạn đã cài đặt và sẵn sàng các công cụ và thư viện sau:
Chạy lệnh sau để cài đặt tất cả các phụ thuộc:
pip cài đặt selenium-wire webdriver-manager
Lưu ý: Bạn có thể gặp lỗi “ ModuleNotFoundError: No module named blinker._saferef ”. Lỗi này có thể được giải quyết bằng cách hạ cấp thư viện blinker xuống phiên bản 1.7.0
đèn nháy
pip gỡ bỏ cài đặt blinker
đèn nháy cài đặt pip == 1 . 7 . 0
Với các điều kiện tiên quyết đã sẵn sàng, chúng ta hãy chia nhỏ cấu hình tập lệnh thành ba bước đơn giản:
Bây giờ chúng ta đã đề cập đến các điều kiện tiên quyết, hãy chuyển sang tập lệnh thực tế. Hướng dẫn từng bước này sẽ giúp bạn tích hợp ProxyScrape proxy dân cư với Selenium sử dụng dây selen
Và trình quản lý webdriver
.
Chúng ta bắt đầu bằng cách nhập các thư viện cần thiết:
nhập re từ seleniumwire nhập webdriver từ selenium.webdriver.chrome.service nhập Service từ selenium.webdriver.chrome. options nhập Options từ webdriver_manager.chrome nhập ChromeDriverManager
Xác định của bạn ProxyScrape chi tiết proxy:
proxy_address = "rp. proxyscrape .com:6060" proxy_username = "tên_người_dùng_proxy_của_bạn" proxy_password = "mật_khẩu_proxy_của_bạn"
(tên người dùng proxy, mật khẩu proxy)
với thực tế của bạn ProxyScrape giấy chứng nhận.Thiết lập proxy trong Selenium Wire:
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
Tối ưu hóa cài đặt Chrome để có hiệu suất tốt hơn:
chrome_options = Tùy chọn () chrome_options .add_argument ( "--start-maximized" ) chrome_options .add_argument ( "--no-sandbox" ) chrome_options .add_argument ( "--disable-dev-shm-usage" )
Cài đặt dây selen
với trình quản lý webdriver
:
dịch vụ = Dịch vụ(ChromeDriverManager().install()) trình điều khiển = webdriver.Chrome( dịch vụ = dịch vụ, seleniumwire_options = sw_options, tùy chọn = chrome_options)
Điều hướng đến ProxyScrape Đánh giá điểm cuối để kiểm tra proxy của bạn:
trình điều khiển. lấy ( 'https://ssl-judge2.api. proxyscrape .com/' )
Trích xuất và hiển thị địa chỉ IP proxy của bạn bằng regex:
# Ví dụ: Trích xuất IP từ phản hồi response = driver.page_source # sử dụng biểu thức chính quy đơn giản để phân tích cú pháp origin ip print ( "Response:" , response) print ( "IP của bạn là:" , re.search( "HTTP_X_FORWARDED_FOR = (\d+\.)+\d+" , response).group().split( "=" )[-1]) # thoát khỏi phiên bản trình duyệt driver.quit()
HTTP_X_CHUYỂN_ĐỔI_CHO
và trích xuất IP được proxyTóm lại, sử dụng proxy dân dụng ProxyScrape với Selenium Wire là giải pháp mạnh mẽ cho bất kỳ ai cần khả năng tự động hóa và thu thập dữ liệu web nâng cao với quyền riêng tư và bảo mật được cải thiện.
Bằng cách làm theo hướng dẫn này, bạn có thể thiết lập một môi trường liền mạch không chỉ bỏ qua các hạn chế mà còn yêu cầu nỗ lực cấu hình tối thiểu. Phương pháp này tận dụng các công cụ mạnh mẽ như Selenium Wire và WebDriver Manage r để quản lý và định tuyến lưu lượng truy cập hiệu quả thông qua proxy, đảm bảo các tác vụ thu thập dữ liệu của bạn vẫn hiệu quả và đáng tin cậy.
Nếu bạn cần hỗ trợ về web scraping hoặc có thắc mắc về sản phẩm của chúng tôi, đừng ngần ngại liên hệ với chúng tôi qua trò chuyện trực tiếp. Bạn cũng có thể tham gia cộng đồng Discord của chúng tôi để được hỗ trợ và cập nhật.