javascript - 使用 YQL 和 jQuery 提取数据

标签 javascript jquery yql

我正在使用 YQL 从 atlatlsoftware.com 上的 div 中提取基本信息。我需要找到地址、电话号码和电子邮件。

我当前的代码从 YQL 转换数据并将其作为 JSON 记录在控制台中。

var atlatlInfo = $.getJSON("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fatlatlsoftware.com%22%20and%0A%20%20%20%20%20%20xpath%3D'%2F%2F*%5B%40id%3D%22desktop-footer%22%5D%2Fdiv%5B3%5D%2Fdiv%2Ftable%2Ftbody%2Ftr%5B2%5D%2Ftd%5B1%5D'&format=json&diagnostics=true&callback=");

console.log(atlatlInfo);

通过在 Chrome 控制台中输入 atlatlInfo.responseJSON.query.results.td.div,我可以获得我需要的数据。当我尝试执行 console.log(atlatlInfo.responseJSON.query.results.td.div) 时,我的 Chrome 控制台出现“未定义”。

如何使用 JavaScript 获取我需要使用的数据?

最佳答案

$.getJSON 返回异步结果;其中,当调用 console.log(atlatlInfo); 时,可能不会定义 atlatlInfo ;请参阅How do I return the response from an asynchronous call? 。尝试利用 jQuery.getJSON( url [, data ][, success ] )success 回调处理通过调用 $.getJSON

返回的数据

var atlatlInfo = $.getJSON("https://query.yahooapis.com/v1/public/yql?" 
                           + "q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fatlatlsoftware.com%22%20and%0A%20%20%20%20%20%20xpath%3D" 
                           + "'%2F%2F*%5B%40id%3D%22desktop-footer%22%5D%2Fdiv%5B3%5D%2Fdiv%2Ftable%2Ftbody%2Ftr%5B2%5D%2Ftd%5B1%5D'" 
                           + "&format=json&diagnostics=true&callback="
                             // process results from asynchronous call here
                           , function success(data) {
                               // do stuff with results
                               console.log(data.query.results.td.div);
                 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>

关于javascript - 使用 YQL 和 jQuery 提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31091509/

相关文章:

javascript - 制作 google chrome 扩展时未捕获 ReferenceError : $ is not defined ,

javascript - Base64:如何编码/解码页面的整个 HTML 代码

php - 如何将图像放在图像上并调整大小并拖动它

json - 返回雅虎!使用YQL的摄氏温度天气API数据

javascript - 如何访问 YQL 请求返​​回的数据?

javascript - 如何在嵌套 IIFE 模块中引用父 JavaScript 函数?

javascript - String::toByteArray() 无法在 Kotlin [js] 中编译

javascript - 在某些WordPress页面上使用jquery隐藏div元素

jquery - 此页面上的脚本导致 Internet Explorer 运行缓慢

html - 无法获得正确的 xpath 查询以从网页中检索图像