Thư viện Requests là phương pháp phổ biến nhất để gửi yêu cầu HTTP bằng Python. Đây là một trong những thư viện dễ sử dụng nhất. Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng. Requests so với các thư viện thay thế Python khác thường yêu cầu viết ít mã hơn để trích xuất dữ liệu. Những người đam mê thu thập dữ liệu web đều biết rằng một proxy chất lượng cao sẽ là tốt hơn cả. Các trang web ngày nay sử dụng các biện pháp chống bot tiên tiến để tự bảo vệ mình khỏi quá trình tự động hóa. Vì vậy, việc xây dựng và duy trì trình thu thập của riêng bạn bao gồm thiết lập một máy chủ proxy để tránh bị cấm địa chỉ IP hoặc các trở ngại khác. Dưới đây là hướng dẫn từng bước về cách thiết lập và xoay vòng proxy trong Python bằng Requests.
Nếu muốn thực hiện nhiều yêu cầu với cùng một cấu hình proxy, bạn cần tạo một phiên và thêm proxy của mình. Bạn có thể làm điều đó bằng cách chuyển đối tượng phiên có cấu hình proxy của mình và gửi yêu cầu thông qua đối tượng đó.
Nếu muốn lưu trữ cấu hình proxy của mình để sử dụng trong tương lai, bạn sẽ cần đặt các biến môi trường. Bằng cách này, bạn có thể dễ dàng chuyển đổi giữa các cài đặt proxy khác nhau mà không cần sửa đổi mã của mình.
Bước 1. Tùy thuộc vào hệ điều hành của bạn, bạn có thể đặt/xuất các biến môi trường sang địa chỉ proxy và cổng.
Đối với người dùng Windows:
set http_proxy=http://username:password@:PORT
set https_proxy=http://username:password@:PORT
Nếu bạn không muốn bị đưa vào danh sách đen hoặc bị giới hạn tỷ lệ bởi các trang web, trước tiên bạn sẽ cần một nhóm địa chỉ IP. Khi đó một dịch vụ proxy xoay IP sẽ là cần thiết để đáp ứng yêu cầu này. Nếu không, bạn sẽ phải thực hiện quá nhiều yêu cầu kết nối từ một IP và rất dễ bị cho vào danh sách hạn chế.
Bạn nên sử dụng dịch vụ proxy trả phí. IP miễn phí không đáng tin cậy, nó có thể bị chèn quảng cáo hoặc dễ dàng tiết lộ dữ liệu của bạn. Mặt khác, các proxy trả phí duy trì cơ sở hạ tầng an toàn với với chất lượng đảm bảo, vì vậy bạn sẽ ít bị chặn hơn.
Gửi nhiều yêu cầu an toàn với proxy xoay IP
Bước 1. Đầu tiên, nhập các thư viện sau:
import requests
import random
Bước 2. Sau đó, xác định danh sách địa chỉ IP bạn muốn sử dụng.
import requests
import random
# Define your proxies
proxy_pool = ['user:password@host:3001', 'user:password@host:3002', 'user:password@host:3003']
# Going through 10 requests
for i in range(10):
# Select a random proxy from the pool
proxy = {'http': random.choice(proxy_pool)}
# Send the request using the same proxy
response = requests.get('URL', proxies = proxy)
# Print the response
print(response.text)
Trong hướng dẫn này, bạn đã biết cách sử dụng máy chủ proxy khi thực hiện các yêu cầu HTTP bằng Python Requests. Sử dụng proxy có thể giúp yêu cầu của bạn an toàn hơn hoặc ẩn danh hơn, cũng như ngăn IP của bạn bị chặn khi quét qua các trang web. Truy cập zingproxy.com để đăng ký dịch vụ proxy chất lượng cao cũng như biết thêm nhiều điều thú vị xoay quanh Proxy. Cảm ơn đã theo dõi bài viết!
Bất kỳ Data Engineer hay Backend Developer nào từng chạy các dự án thu thập dữ liệu (web scraping) đều thấu hiểu một kịch bản đau tim quen thuộc: Script chạy mượt mà trên môi trường local với vài trăm URL, nhưng ngay khi đẩy lên production để scale lên hàng triệu request, pipeline lập […]
Bạn vừa deploy một tính năng mới, backend đã được tối ưu cache, database query chỉ mất vài mili-giây. Thế nhưng, user vẫn liên tục phàn nàn về việc app bị treo, vòng tròn loading quay không ngừng khi họ bước vào thang máy hoặc chuyển từ Wi-Fi công ty ra mạng 4G. Các kỹ […]
Chắc hẳn bạn đã từng trải qua tình huống này: Đẩy code lên nhánh main vào lúc nửa đêm, đinh ninh rằng hệ thống sẽ tự động hoàn tất quá trình build và deploy. Nhưng chỉ vài phút sau, pipeline báo đỏ rực. Khi mở log kiểm tra, nguyên nhân không xuất phát từ lỗi […]
Bạn vừa deploy một LLM agent lên server riêng, cấu hình API key đầy đủ, nạp toàn bộ tài liệu nội bộ vào vector database và yên tâm rằng hệ thống đã an toàn vì tường lửa Ingress bảo vệ vững chắc. Nhưng sáng hôm sau, hóa đơn cloud tăng vọt, hoặc tệ hơn, thông […]
Hiện tượng CPU peak (chạm ngưỡng 100%) và hàng loạt lỗi 504 Gateway Timeout là viễn cảnh cực kỳ quen thuộc đối với các backend developer khi vận hành hệ thống Microservices trên những VPS có cấu hình giới hạn (1 vCPU, 1-2GB RAM). Bạn thuê một máy chủ ảo, triển khai vài service Spring […]
Tháng 10 năm 2025 có lẽ là thời điểm ám ảnh đối với nhiều Solutions Architect và DevOps Engineer. Lỗi tự động hóa DNS tại us-east-1 của AWS đã kéo theo sự sụp đổ dây chuyền của hàng loạt dịch vụ phụ thuộc trên toàn cầu, khiến hàng ngàn nền tảng SaaS tê liệt. Cùng […]