gpt4 book ai didi

javascript - Noodle.js 设置/jQuery 流程(网页抓取帮助!)

转载 作者:太空宇宙 更新时间:2023-11-04 00:37:57 25 4
gpt4 key购买 nike

我已经通过 npm install 安装了 noodle.js,这就是我现在的代码。但是,当我在终端中运行此文件(noodleTest.js)时:node noodleTest.js,我收到以下错误:jQuery.getJSON 不是函数。我查看了有关此问题的大多数堆栈溢出答案,但找不到解决方案。通过http://noodlejs.com提供的例子它在控制台中返回一个数组,但是当我尝试运行此代码片段时,我收到一个错误。如有任何帮助,我们将不胜感激。

var noodle = require('noodlejs'),
jQuery = require ('jquery');

var query = {
url: 'http://google.com/search?q=javascript',
type: 'html',
selector: 'h3.r a',
extract: 'text'
},
uriQuery = encodeURIComponent(JSON.stringify(query)),
request = 'http://example.noodlejs.com/?q=' +
uriQuery + '&callback=?';

// Make Ajax request to Noodle server
jQuery.getJSON(request, function (data) {
console.log(data[0].results);
});

编辑:我尝试按照
中给出的示例进行操作 http://%20github.com/dharmafly/noodle#noodle-as-a-node-module ,并使用了 noodlejs.com 上的示例运行给出,但我不确定如何读取数据,或者如何提取对象中的内容。var noodle = require('noodlejs');

noodle.query({
url: 'http://google.com/search?q=javascript',
selector: 'h3.r a',
extract: 'text'
})
.then(function (results) {
console.log(results);
});

这是以下输出:

 [noodle log  #1]
Thu Jul 07 2016 00:09:43 GMT-0700 (PDT)
Memory: 18.00mb (18870272 bytes)
Noodle: The query follows...
{"url":"http://google.com/search?q=javascript","selector":"h3.r a","extract":"text","type":"html","cache":true}


[noodle log #2]
Thu Jul 07 2016 00:09:44 GMT-0700 (PDT)
Memory: 19.00mb (19918848 bytes)
Cache: Page has been cached


[noodle log #3]
Thu Jul 07 2016 00:09:44 GMT-0700 (PDT)
Memory: 20.00mb (20967424 bytes)
Cache: Result has been cached

{ results: [ { results: [Object], created: 2016-07-07T07:09:44.286Z } ] }

最佳答案

这是一个有效的面条查询示例。不要关注我们正在废弃的小细节,看看我要求的选择器以及我想要提取的内容。

正如您所见,我从页面中随机选择了一个选择器,提取的数据是文本。但要查看提取的文本,请查看我对结果所做的操作。

var noodle = require('noodlejs');

noodle.query({
url: 'http://edition.cnn.com/',
selector: '#intl_homepage1-zone-1 > div.l-container > div > div.column.zn__column--idx-0 > ul > article > a > h2',
extract: 'text'
})
.then(function (results) {
console.log(results);
console.log(results.results[0]);

});

结果是链式的,我并没有真正检查为什么也许如果你进行研究,你可以更好地利用它,但是如果你两次查看结果,因为你可以看到我所做的,你最终会得到你想要的信息提取。

关于javascript - Noodle.js 设置/jQuery 流程(网页抓取帮助!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38139477/

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