Tôi có một công việc cào lớn để thực hiện - hầu hết thời gian của tập lệnh được sử dụng để chặn do rất nhiều thời gian chờ của mạng. Tôi đang cố gắng để multi-thread kịch bản để tôi có thể tạo nhiều yêu cầu cùng một lúc, nhưng khoảng 10% số bài của tôi chết với các lỗi sauYêu cầu web đa luồng trong python - 'Tên hoặc dịch vụ không được biết'
URLError: <urlopen error [Errno -2] Name or service not known>
Các khác 90% hoàn thành thành công. Tôi đang yêu cầu nhiều trang từ cùng một tên miền, vì vậy có vẻ như có thể có một số vấn đề về DNS. Tôi thực hiện 25 yêu cầu cùng một lúc (25 chủ đề). Tất cả mọi thứ hoạt động tốt nếu tôi giới hạn bản thân mình đến 5 yêu cầu cùng một lúc, nhưng một khi tôi nhận được khoảng 10 yêu cầu, đôi khi tôi bắt đầu thấy lỗi này.
Tôi đã đọc Repeated host lookups failing in urllib2 mô tả cùng một vấn đề tôi có và làm theo các đề xuất trong đó, nhưng không có kết quả.
Tôi cũng đã thử sử dụng mô-đun đa xử lý thay vì đa luồng, tôi nhận được cùng một hành vi - khoảng 10% các quá trình chết với cùng một lỗi - dẫn tôi tin rằng đây không phải là vấn đề với urllib2 nhưng cái gì khác.
Ai đó có thể giải thích những gì đang diễn ra và đề xuất cách khắc phục?
CẬP NHẬT
Nếu tôi tự mã địa chỉ IP của trang web vào kịch bản tất cả mọi thứ của tôi hoạt động hoàn hảo, vì vậy lỗi này xảy ra đôi khi trong việc tra cứu DNS.
Bạn có quyền truy cập vào máy chủ không? Bạn có thể chạy vào một số công cụ chống từ chối dịch vụ hoặc nếu máy chủ không phải là trọng lượng nặng, thì bạn thực sự có thể đang quá tải ... – jswolf19
Đây là trang web chính có khả năng xử lý hàng trăm hoặc hàng ngàn yêu cầu đồng thời, 25 của tôi thậm chí không làm cho một vết lõm nhỏ. Tôi khá chắc chắn đó là một vấn đề giải quyết dns, bởi vì nếu tôi thay thế tên miền với địa chỉ ip kịch bản của tôi chạy hoàn hảo - vì vậy trang web không rõ ràng là đóng cửa tôi. Tại thời điểm này tôi chỉ muốn hiểu tại sao các tra cứu DNS không thành công. –
Sau đó, nó có thể là một vấn đề với máy chủ DNS chỉ cho phép rất nhiều yêu cầu từ một khách hàng trong một khoảng thời gian nhất định, hoặc những gì có bạn. – jswolf19