User agent mô tả
Reddit ghi rõ trong tài liệu rằng các user agent chung chung bị hạn chế chặt hơn. Hãy đặt một user agent duy nhất, có mô tả trước khi cho rằng vấn đề nằm ở địa chỉ.
IPv4 dân cư để thu thập dữ liệu Reddit, trên một nền tảng công bố rõ các giới hạn của mình thay vì để bạn tự đoán.
Cập nhật lần cuối:
Vấn đề
Reddit khá đặc biệt trong nhóm này: nền tảng công bố một API với các giới hạn tần suất được ghi trong tài liệu và yêu cầu một user agent mô tả, định danh duy nhất. Các yêu cầu dùng chung một user agent chung chung bị giới hạn tần suất chặt hơn, đây là hành vi được ghi trong tài liệu chứ không phải phỏng đoán. Nhờ vậy, việc thu thập dữ liệu tuân thủ ở đây thực sự khả thi, khác với các nền tảng không công bố gì.
Vì các giới hạn được áp dụng theo từng client và từng địa chỉ, ràng buộc đối với việc thu thập khối lượng lớn là hạn mức yêu cầu chứ không phải danh tiếng địa chỉ. Phân tán qua các IP thoát dân cư sẽ nâng mức trần, nhưng bước đầu tiên đúng là xác thực đúng cách và đặt một user agent thật; việc này không tốn gì và giải quyết phần lớn tình trạng bị giới hạn tần suất.
Reddit cũng đã định giá lại quyền truy cập API, khiến một số công việc chuyển sang bề mặt web. Nguyên tắc vẫn như vậy: hãy khai báo client của bạn một cách trung thực và giữ nhịp yêu cầu. Hướng dẫn của chính Reddit là nguồn đáng theo, thay vì bất kỳ tuyên bố nào của bên thứ ba về tần suất an toàn.
Với một phần lớn công việc trên Reddit, proxy đơn giản là không cần thiết, và nói thẳng điều đó hữu ích hơn là bán một proxy. Một client được xác thực đúng cách, có user agent mô tả và hoạt động trong hạn mức đã được ghi trong tài liệu sẽ không bị giới hạn tần suất, và việc cài đặt không tốn chi phí. Proxy trở nên liên quan khi khối lượng tổng hợp vượt quá khả năng của một client đơn lẻ, hoặc với việc thu thập ẩn danh mà giới hạn theo từng địa chỉ là ràng buộc chính. Dùng đến proxy trước khi sửa việc xác thực là sai lầm phổ biến và tốn kém.
Nếu bạn đang so sánh các quy trình trước khi quyết định, khám phá tất cả trường hợp sử dụng proxy để xem cách cài đặt nào phù hợp nhất.
TrueProxies giải quyết vấn đề như thế nào
Reddit ghi rõ trong tài liệu rằng các user agent chung chung bị hạn chế chặt hơn. Hãy đặt một user agent duy nhất, có mô tả trước khi cho rằng vấn đề nằm ở địa chỉ.
Các giới hạn được áp dụng theo từng client và từng địa chỉ, nên hãy lên kế hoạch hạn mức yêu cầu thay vì cố chạy nhanh hơn bộ giới hạn.
IP thoát dân cư nâng mức trần tổng hợp cho các đợt thu thập lớn. Hãy dùng đến chúng sau khi việc xác thực và giữ nhịp yêu cầu đã đúng, không phải trước đó.
Reddit trả về các header giới hạn tần suất trong phản hồi của API. Hãy đọc chúng và giảm tốc theo những gì chúng báo cáo thay vì suy ra giới hạn từ các lỗi.
API được ghi trong tài liệu, với xác thực đúng cách, là con đường ít có khả năng gây vấn đề nhất. Chỉ dùng bề mặt web khi API thực sự không đáp ứng nhu cầu.
Đề xuất
Từ $1.64 cho 1 GB
Trả tiền theo gigabyte khi việc thu thập chạy theo từng đợt thay vì liên tục, nên thời gian nhàn rỗi không tốn chi phí.
Từ $4.08/giờ ở 10 Mbps
Unlimited Bandwidth có thời hạn cố định phù hợp với việc thu thập liên tục khi khó dự đoán khối lượng yêu cầu tính bằng gigabyte.
Tích hợp
# Authenticate and identify the client before adding any proxy.
# Reddit documents that generic user agents are throttled harder.
UA="my-research-tool/1.0 (contact: you@example.com)"
curl -s -A "$UA" \
-H "Authorization: bearer $TOKEN" \
-D - -o /dev/null \
"https://oauth.reddit.com/r/<subreddit>/new?limit=100" | grep -i x-ratelimit
# Only distribute across residential exits once a single
# authenticated client's documented budget is genuinely exhausted.Câu hỏi thường gặp
Thường là không. Reddit công bố một API với các giới hạn tần suất được ghi trong tài liệu, và việc xác thực đúng cách cùng một user agent mô tả giải quyết phần lớn tình trạng bị giới hạn tần suất. Proxy có ý nghĩa khi khối lượng tổng hợp vượt quá hạn mức mà một client đơn lẻ có thể có.
Thường gặp nhất là do user agent chung chung hoặc bị thiếu. Reddit ghi trong tài liệu rằng các yêu cầu dùng chung một user agent phổ biến bị hạn chế chặt hơn. Hãy đặt một user agent mô tả duy nhất trước khi cho rằng vấn đề nằm ở địa chỉ.
Với việc thu thập dữ liệu công khai ẩn danh thì có: xoay IP phân bổ hạn mức yêu cầu trên toàn pool, đó mới là ràng buộc thực sự. Với công việc API đã xác thực, hãy tôn trọng giới hạn theo từng client được ghi trong tài liệu thay vì cố đi vòng.
Không. Proxy chỉ thay đổi nguồn gốc mạng. Các nền tảng đánh giá dấu vân tay thiết bị và trình duyệt, lịch sử tài khoản và các tín hiệu hành vi bên cạnh IP, và bất kỳ yếu tố nào trong số đó cũng có thể tự kích hoạt việc xem xét. Hãy tuân thủ điều khoản của từng nền tảng và thử nghiệm với các tài khoản không quan trọng.
Điều khoản API của Reddit quy định những gì được phép, và các điều khoản này đã thay đổi. Hãy đọc điều khoản hiện hành và chính sách nội dung công khai của Reddit trước khi thu thập. API được ghi trong tài liệu, với xác thực đúng cách, là con đường ít có khả năng gây vấn đề nhất.
Reddit công bố các giới hạn cho client API đã xác thực và trả về hạn mức còn lại trong header phản hồi của mỗi lần gọi. Hãy đọc các header đó và giảm tốc theo những gì chúng báo cáo, thay vì suy ra ngưỡng từ các yêu cầu thất bại.
Không đối với client đã xác thực, vì giới hạn được áp dụng theo từng client. Phân tán qua nhiều IP thoát chỉ nâng mức trần tổng hợp cho việc thu thập ẩn danh. Hãy sửa việc xác thực và user agent trước, vì cách đó giải quyết phần lớn tình trạng bị giới hạn tần suất.
Một user agent duy nhất, có mô tả, nêu rõ ứng dụng của bạn và một thông tin liên hệ. Tài liệu của Reddit nêu rằng các client dùng chung một user agent chung chung bị giới hạn tần suất chặt hơn, nên đây là cách khắc phục rẻ nhất hiện có.
Những cách khác mà các nhóm dùng proxy dân cư.
Dùng thử miễn phí
Xác thực và giữ nhịp yêu cầu trước, sau đó mới phân tán qua IP thoát dân cư nếu khối lượng đòi hỏi.
Bắt đầu dùng thử