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!
Tám giờ tối, bạn vừa deploy xong một tính năng cực mượt có tích hợp AI. Nhưng khi lượng user bắt đầu tăng lên, log trên backend liên tục báo lỗi với những dòng chữ đỏ: ECONNRESET, ETIMEDOUT, hoặc các luồng Server-Sent Events (SSE) đang stream dở văn bản thì đột ngột bị ngắt kết […]
Bạn vừa gõ xong lệnh git push, pipeline CI/CD kích hoạt. Đáng lý ra chỉ khoảng 10 phút sau là team sẽ nhận được report review code và test case sinh tự động từ AI. Nhưng thực tế lại tàn nhẫn hơn nhiều: Cả team ngồi nhìn màn hình terminal tĩnh lặng ròng rã 40 […]
Trong kỷ nguyên Agentic AI, việc thiết lập một mô hình ngôn ngữ lớn hoạt động độc lập không chỉ phụ thuộc vào logic code mà còn bị thử thách khắc nghiệt bởi hạ tầng mạng. Đối với các Automation Engineer và AI Developer, làm sao để giữ cho hàng ngàn luồng truy vấn (requests) […]
Đưa một VPS mới tinh ra môi trường Public Internet để chạy AI Agent cũng giống như việc bạn đặt một chiếc két sắt giữa ngã tư đường. Chỉ trong vài phút đầu tiên, auth.log của bạn sẽ ghi nhận hàng loạt IP từ botnet đang rà soát cổng 22. Tệ hơn, nếu AI Agent […]
Khi xây dựng các mô hình AI hoặc LLM, thu thập dữ liệu web quy mô lớn (web extraction) là bước nền tảng sống còn của các Data Engineer và Machine Learning Engineer. Tuy nhiên, nếu bạn chỉ sử dụng các thư viện HTTP cơ bản bằng Python kết hợp với một vài dải IP […]
Ứng dụng đang chạy mượt mà ở môi trường local bỗng chốc đổ sập khi đẩy lên production vì hàng loạt lỗi HTTP 429 Too Many Requests (đây cũng là một trong những mã lỗi Proxy phổ biến nhất thường gặp khi scale ứng dụng). Các worker queue bị nghẽn, thời gian chờ phản hồi […]