我有一个HTML文档,我想解析。我正在尝试使用cheerio来解析HTML文件。
<ul data-reactid=".0.1.0.0.1.1.0.0.0.0.1.0">
<li class="_1ht1 _1ht2" data-reactid=".0.1.0.0.1.1.0.0.0.0.1.0.1:$user=xyz">
.
.
.
.
<span data-reactid=".0.1.0.0.1.1.0.0.0.0.1.0.1:$user=xyz.0.0.$right.0.0.1.$left.0.1:0">
My Random Text
</span>
</li>
</ul>
从我的HTML我正在尝试使用data-reactid =&#34; .0.1.0.0.1.1.0.0.0.0.1.0&#34;
提取ul标签的第一个实例在第一个li标签中,我想提取用户,在本例中为xyz。之后我想在代码中提到的span类中找到文本。
通过Cheerio我尝试了以下内容:
var cheerio = require('cheerio'),
fs = require('fs');
fs.readFile('index.html', 'utf8', dataLoaded);
function dataLoaded(err, data) {
$ = cheerio.load(data);
console.log("Trying out " + JSON.stringify($("<ul data-reactid=\".0.1.0.0.1.1.0.0.0.0.1.0\">").data()));
}
打印Trying out {"reactid":".0.1.0.0.1.1.0.0.0.0.1.0"}
如何在HTML中获取值?
注意:xyz是动态的,它会改变
答案 0 :(得分:1)
如果我理解你的问题,我认为这对你有用:
NAME
答案 1 :(得分:0)
试试这个。基本上它将你的HTML变成了jquery可以使用的东西,然后它找到了unsorted-list,当然你可以使find更具体。使用.data()
,它会提取data-reactid
属性的值。
reactid = $($(data).find('ul>li>span')).data('reactid');
答案 2 :(得分:0)
我的第一个答案的问题是我实际上没有找到你想从中提取reactid
的元素。随着一些js摆弄,我能够把一些类似于你的场景放在一起。在我使用.html()
的小提琴中注意到。不用多说,我们走了:http://jsfiddle.net/0r5k9egu/。运行小提琴并在控制台中看到.0.1.0.0.1.1.0.0.0.0.1.0.1:$user=xyz.0.0.$right.0.0.1.$left.0.1:0