我正在构建一个网络抓取工具,以便从某些网页获取一些特定信息。我有一个表的链接,我想创建一个循环,以便在每次迭代中我的函数可以加载特定网站的html并检查一个短语是否位于该网站。如果短语不存在,则表行将被删除。
我意识到由于某些原因,当我运行循环时,应该抓取单个链接的JQuery函数等待循环结束,然后将同一页面刮掉50次,而不是每次都刮取不同的网页
//snippet has been simplified to make the problem clear
//assume urlList is a list of 50 different url's
function dataScraper(urlList){
for(i in urlList){
$.get('https://allorigins.me/get?method=raw&url=' + encodeURIComponent(urlList[i]) + '&callback=?', function(data){
localStorage.setItem("urlHTML"+String(i),data.contents)
console.log(i) //for example this just prints 49, 50 times instead of printing all the separate values of i
});
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我得知JQuery正在等待加载整个事情,但我如何确保JQuery函数接受每个人(i)而不是max(i)。
免责声明:我是一名自学成才的新手,最近已经找到了JavaScript,HTML和JQuery。如果我遗漏了一些完全明显的东西,请道歉。