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!
Hệ thống vừa chạy chiến dịch marketing, traffic đổ về ầm ầm. Ứng dụng phình to và bạn bắt đầu nhận được những tin nhắn cảnh báo đỏ rực trên Slack: CPU của máy chủ Database đang chạm nóc 100%. Các lỗi Too many connections hoặc 502/504 Gateway Timeout xuất hiện dày đặc, dẫn đến […]
Nếu bạn đang đọc bài viết này, rất có thể bạn vừa gõ lệnh yum update trên máy chủ VPS production và nhận về hàng loạt thông báo lỗi 404. CentOS 7 đã chính thức ngừng hỗ trợ vào ngày 30/06/2024, và CentOS 8 cũng đã ngừng hoạt động từ cuối năm 2021. Hệ thống […]
Đang chạy luồng data pipeline ổn định để thu thập dữ liệu giá sản phẩm thì log báo lỗi liên tục với mã 403 Forbidden và 429 Too Many Requests. API bị rate-limit, IP server bị block cứng, hoặc hệ thống trả về toàn dữ liệu lỗi do cơ chế bảo vệ của máy chủ […]
Bạn vừa thuê một chiếc VPS Linux mới, hoàn tất cài đặt Ubuntu, mở port 22 cho SSH, deploy ứng dụng và an tâm rằng hệ thống đã an toàn? Hãy mở terminal lên và chạy ngay dòng lệnh kiểm tra log này: Con số trả về có thể khiến bạn giật mình: hàng trăm, […]
Bạn đang ngồi tại văn phòng Agency, nhấn nút chạy tool rank tracker trên server, mỉm cười hài lòng khi thấy hàng loạt từ khóa của khách hàng chễm chệ trên Top 1 Google Maps. Bạn tự tin xuất report PDF và gửi đi. Nhưng chỉ 15 phút sau, khách hàng gọi lại từ một […]
Đã bao nhiêu lần bạn phải thức dậy lúc 2 giờ sáng chỉ vì một node Minecraft bị crash, rò rỉ RAM (memory leak) rồi kéo sập toàn bộ các server khác đang chạy chung trên máy chủ? Việc quản lý hàng tá game server qua giao diện dòng lệnh (CLI) truyền thống, gõ những […]