gpt4 book ai didi

javascript - JS/Node :- Selecting a tag using node. io

转载 作者:行者123 更新时间:2023-11-30 05:43:00 25 4
gpt4 key购买 nike

我是初学者,正在做一个使用 node.io 抓取此页面内容的作业
http://www.nycourts.gov/reporter/3dseries/2013/2013_06966.htm .

我想将

标签下的文本内容保存为变量中的字符串。

我的代码是这样的:

var nodeio = require('node.io'); var methods = { input: false, run: function() { this.getHtml('http://www.nycourts.gov/reporter/3dseries/2013/2013_06966.htm', function(err, $) {

        //Handle any request / parsing errors
if (err) this.exit(err);


var content = $('P');

this.emit(content);
});
} }

exports.job = new nodeio.Job({timeout:10}, methods);

这显示错误:没有与“P”匹配的元素。请帮助..

最佳答案

我得到了 Error: No elements matching 'P'执行命令时也是如此:

$ ./node_modules/.bin/node.io query http://www.nycourts.gov/reporter/3dseries/2013/2013_06966.htm P

根本原因是没有结局</P>在该页面中,node.io 不支持像现代网络浏览器这样格式错误的 HTML 的自动更正。虽然在查询 <blockquote> 时效果很好:

$ ./node_modules/.bin/node.io query http://www.nycourts.gov/reporter/3dseries/2013/2013_06966.htm blockquote

但是,您可以通过使用 selenium 在真实浏览器上解析 HTML 文档来实现它技术。

这里的示例 javascript 可以在您的主机上与 Node 和 selenium 网格一起运行以获得您想要的东西。可以引用我对问题How do you get webdriverjs working?的另一个回答:

var webdriverjs = require('webdriverjs');

var client = webdriverjs.remote({
host: 'localhost',
port: 4444,
desiredCapabilities: {
browserName: 'safari', // you can change this accordingly
version: '7',
platform: "MAC" // you can change this accordingly
}
});

client.init();

client.url('http://www.nycourts.gov/reporter/3dseries/2013/2013_06966.htm')
.getText("P",function(err, text) { console.log (text)}).call(function () {});

client.end();

关于javascript - JS/Node :- Selecting a tag using node. io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19703211/

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