Javascript 我如何通过Cheerio获得这些值?
我正在从网站()使用Cheerio到webscrape的包。然而,他们让这变得很尴尬,我不知道如何获得这些价值观。如何获取“数据备选方案”,然后对其进行格式化,使其只显示服务器名称 以下是我的代码和网站来源:Javascript 我如何通过Cheerio获得这些值?,javascript,html,node.js,cheerio,Javascript,Html,Node.js,Cheerio,我正在从网站()使用Cheerio到webscrape的包。然而,他们让这变得很尴尬,我不知道如何获得这些价值观。如何获取“数据备选方案”,然后对其进行格式化,使其只显示服务器名称 以下是我的代码和网站来源: request(options, function(err, resp, html) { if (!err) { const $ = cheerio.load(html); console.log(html); $('span',
request(options, function(err, resp, html) {
if (!err) {
const $ = cheerio.load(html);
console.log(html);
$('span', '#i3180').each(function() {
var url = $(this).text();
urls.push(url);
})
}
澳大利亚关系
在Cheerio中,您可以使用attr
方法访问元素的属性:
$('selector').attr('attribute')
data alternations
中的数据是一个JSON,因此您只需解析它,但在此之前,请将“
替换为”
完整的解决方案如下所示:
let servers=$('.cheapest server').attr('data-alternations'))
让parsedServers=JSON.parse(servers.replace(/“/g,”);
在Cheerio中,您可以使用attr
方法访问元素的属性:
$('selector').attr('attribute')
data alternations
中的数据是一个JSON,因此您只需解析它,但在此之前,请将“
替换为”
完整的解决方案如下所示:
let servers=$('.cheapest server').attr('data-alternations'))
让parsedServers=JSON.parse(servers.replace(/“/g,”);
获取数据属性有两个选项
选择1
选择2
文档:
没有部分链接,但在frontpage上有两个标题名为
- .attr(名称、值)
- .数据(名称、值)
- 选项1:
document.querySelector(“.cheapest server”).attr(“数据替代项”)
- 选项2:
document.querySelector(“.cheapest server”).dataset.alternations
- .attr(名称、值)
- .数据(名称、值)
- 选项1:
document.querySelector(“.cheapest server”).attr(“数据替代项”)
- 选项2:
document.querySelector(“.cheapest server”).dataset.alternations
const alternations=JSON.parse(document.querySelector(“span#i3180”).closest(“tr”).querySelector(“[data alternations]”)dataset.alternations)
以获得完整的数据备选方案列表(只是JSON).map(([server])=>server);
获取一个具有服务器名称的数组。不知道如何在Cheerio中实现这一点,但在vanilla JS中,您可能需要查找const alternations=JSON.parse(document.querySelector(“span#i3180”).closest(“tr”).querySelector(“数据替代项”).dataset.alternations)
获取完整的数据备选方案
列表(仅为JSON)。使用alternations.map(([server])=>server)获取包含服务器名称的数组;
。正是我要找的。谢谢。我似乎找不到文档,所以上面的帖子也有帮助。正是我要找的,谢谢。我似乎找不到文档,所以上面的帖子也有帮助。
$('.cheapest-server').attr('data-alternatives')
$('.cheapest-server').data('alternatives')