【发布时间】:2017-08-25 23:50:15
【问题描述】:
我正在开发一个读取另一个页面源的页面,我需要从该页面中提取某些信息。我目前的项目使用数据来获取实时源,但是我一生都无法弄清楚如何将此字符串转换为文档。
我使用文档的理由是我需要使用getElementById 等来获取这些项目的价值。
我尝试了什么?
将 HTML 分配给我页面上的不可见 div。这种工作虽然不呈现整个 HTML 字符串并提供此页面的“更短”的再现。
手动查找子字符串。正如您可以想象的那样,这是一种糟糕的做事方式,并且提供的结果非常不可靠。
DOM 解析器转换文档,然后查询它,但失败得很惨。
我们将不胜感激任何帮助。
相关代码:
$.ajax({
method: "GET",
dataType: '',
crossDomain: true,
xhrFields: {
withCredentials: true
},
success: function(res) {
//shows the entire source just fine.
console.log("Value of RES: " + res);
bootbox.hideAll();
//shows a "truncated" copy of the source
alert(res);
$("#hiddendiv").html(x);
var name = document.findElementById("myitem");
alert(name);
},
【问题讨论】:
-
你试过用 Cheerio 解析你的 HTML 字符串吗?
-
@PatrickHund 我没有,但是这里的问题是这个页面是一个独立的页面,将在本地分发。
-
据我了解,您有一个包含要解析的 HTML 代码的字符串,并运行查询以提取数据。这正是 Cheerio 的用途
-
这正是我所需要的。我将进一步研究 Cheerio,看看我是否可以做到这一点。
-
好吧,您显示的代码不起作用,因为您从未定义
x。您还使用了findElementById,它不是document的函数。
标签: javascript jquery html ajax