我知道这不是一个好主意,但每个程序员都想了解更多。现在我一直在尝试网络抓取。第一次创建脚本并运行它会阻止我的 IP 地址。我错了,因为在我的脚本中我向网站发送了太多请求,这样会花费大量的网站流量并使他们认为我是入侵者,我想出这个想法来延迟我的请求,我如何让我的循环等待函数完成?我不想使用这样的东西。这将每 5 秒执行一次
(function(links){
setTimeout(function() { scrapeAnotherLink(links); }, delay);
})(result[val]);
delay += 5000;
我想等待我的 ajax 请求完成从提供的链接中删除然后等待 5 秒然后再次执行。
我的代码。
刮链接。//只是一个样本
$('#scrape').click(function() {
$.ajax({
type: 'get',
url: 'scrape.php',
data:{Param:1},
dataType: 'json',
cache: false,
success: function(result) {
for(var val in result) {
link = result[val];
scrapeAnotherLink(link);
}
},
});
});
function scrapeAnotherLink(link){
//Some ajax here
setTimeout(function() {
output_log(link);
}, 5000);
}
function output_log(str){
$('#output').append(str+'<br/>');
}
我读到一些刮板池的 IP 地址,但我不知道如何