これは良い考えではないことはわかっていますが、すべてのプログラマーはもっと学びたいと思っています。今のところ、私はWebスクレイピングを試しています。初めてスクリプトを作成して実行すると、IP アドレスがブロックされます。スクリプトでサイトに送信するリクエストが多すぎるため、私は間違っていました。そのようにすると、サイトへのトラフィックが多くなり、侵入者だと思われるようになります。 request,関数が終了するまでループを待機させるにはどうすればよいですか? こんなもの使いたくない。これは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 アドレスをプールしていると読みましたが、その方法がわかりません