【发布时间】:2014-11-13 03:26:42
【问题描述】:
我正在 jQuery 中构建一个有趣的爬虫...但我在最后一步遇到了问题,即获取一些 ajax 内容,探索它,然后用 ajax 保存结果。
这是一个对象的例子:
finalResult = [];
links = {
categorie1:{
categorie2:{
categorie3:{
products:{
link1,...,linkN
//get the content url with ajax
ajaxCall(link);
//load the content into an hidden div
ajaxSuccess(data);
//parse the content with selectors
myProduct = data.find(selectors).do();
//put all the infos into an object
finalResult.push(myProduct);
}
}
}
}
}
如你所料,我将访问每个内部每个内部的链接等...有 5500 个链接,太多了。
然后,当我的 5500 循环完成后,我想将对象 finalResult 发送到带有 ajax 的 php 页面以记录所有这些产品。
一切正常,直到我达到 3500 多个产品,然后我的浏览器崩溃或变得非常慢并且没有响应。
所以我想每 50 次迭代保存一次 finalProducts,然后执行 50 次以下等...等等。这样我认为操作更小的对象会更容易。
但我不知道该怎么做...有什么想法吗?
谢谢大家,
【问题讨论】:
-
嗯,浏览器确实有内存限制……查询 5500 个页面可能太多了。
标签: javascript jquery ajax object each