gpt4 book ai didi

node.js - 使用 Node.js 爬行

转载 作者:IT老高 更新时间:2023-10-28 23:15:00 27 4
gpt4 key购买 nike

完整的 Node.js 菜鸟,所以不要评判我......

我有一个简单的要求。爬取网站,查找所有产品页面,并保存产品页面中的一些数据。

说的更简单,做的更简单。

查看 Node.js 示例,我找不到类似的东西。

有一个请求刮板:

request({uri:'http://www.google.com'}, function (error, response, body) {
if (!error && response.statusCode == 200) {
var window = jsdom.jsdom(body).createWindow();
jsdom.jQueryify(window, 'path/to/jquery.js', function (window, jquery) {
// jQuery is now loaded on the jsdom window created from 'body'
jQuery('.someClass').each(function () { /* Your custom logic */ });
});
}
});

但是我不知道如何在它抓取根页面后调用它自己,或者填充它需要抓取的数组或 url。

然后是http代理方式:

var agent = httpAgent.create('www.google.com', ['finance', 'news', 'images']);

agent.addListener('next', function (err, agent) {
var window = jsdom.jsdom(agent.body).createWindow();
jsdom.jQueryify(window, 'path/to/jquery.js', function (window, jquery) {
// jQuery is now loaded on the jsdom window created from 'agent.body'
jquery('.someClass').each(function () { /* Your Custom Logic */ });

agent.next();
});
});

agent.addListener('stop', function (agent) {
sys.puts('the agent has stopped');
});

agent.start();

这需要一个位置数组,但话又说回来,一旦你开始使用一个数组,你就不能向它添加更多位置来浏览所有产品页面。

而且我什至无法让 Apricot 工作,由于某种原因我遇到了错误。

那么,我如何修改上述任何示例(或上面未列出的任何内容)以抓取网站、查找所有产品页面、在其中找到一些数据(jquery.someclass 示例应该可以解决问题)以及将其保存到数据库?

谢谢!

最佳答案

就我个人而言,我使用 Node IO 来抓取一些网站。 https://github.com/chriso/node.io

更多关于抓取的细节可以在 wiki 中找到。 !


关于node.js - 使用 Node.js 爬行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5368045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com