【发布时间】:2017-09-01 00:44:43
【问题描述】:
var YQL = require('yql');
var site = "http://words.hk/zidin/v/10853/%E4%BF%BE/%E7%95%80";
var path = ="/html/body/div[2]/div[2]/div[1]/div/div[1]/table/tbody/tr[3]/td[2]/ol/li[1]/div[2]/text()";
YQL.exec('select * FROM htmlstring WHERE url="'+site+'" AND
xpath="'+path+'"', function(response) { console.log(response); });
我正在尝试获取具有字符定义的元素。我也以此作为参考:
https://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select+*+FROM+htmlstring+WHERE+url%3D'http%3A%2F%2Fwords.hk%2Fzidin%2Fv%2F10853%2F%25E4%25BF%25BE%2F%25E7%2595%2580'+AND+xpath%3D'%2Fhtml%2Fbody%2Fdiv%5B2%5D%2Fdiv%5B2%5D%2Fdiv%5B1%5D%2Fdiv%2Fdiv%5B1%5D%2Ftable%2Ftbody%2Ftr%5B3%5D%2Ftd%5B2%5D%2Fol%2Fli%5B1%5D%2Fdiv%5B2%5D%2Ftext()'%0A
它的工作方式正是我想要的。现在,我无法使用 node 处理我的 server.js 文件。当我尝试将响应记录到控制台时收到以下错误消息:
{ error: { lang: 'en-US', description: undefined } }
我尝试在不创建 site 和 path 两个变量的情况下添加所有内容,但它仍然无法产生我想要的相同结果我使用的开发人员雅虎参考页面。是否有可能从 YQL 获取这个?
【问题讨论】:
标签: javascript node.js yql