我使用Cheerio制作网络剪贴簿,请求Node.js.我使用了一些刮刀,但我不知道jQuery熟悉的刮刀,Cheerio。无论如何,让我们看看问题。
HTML
<li><a title="FR" class="A">176.31.239.33:8133</a></li>
<li><a title="FR" class="B">87.98.218.86:3128</a></li>
<li><a title="CN" class="A">183.62.60.100:80</a></li>
<li><a title="CN" class="A">183.131.152.227:80</a></li>
<li><a title="CN" class="A">183.238.133.43:80</a></li>
我想要获取具有class =&#34; A&#34;,然后是其文本(183.62.60.100:80)
的元素。然后将制作数组。
[
{ 'title' : 'FR', 'IP' : '176.31.239.33:8133' },
{ 'title' : 'CN', 'IP' : '183.62.60.100:80' },
...
]
但是我被困了。我试过......
var $ = cheerio.load(html);
var arr = $('a[class=A]').text();
console.log(arr)
// result is
// 176.31.239.33:8133183.62.60.100:80183.131.152.227.80
// if I print console.log(arr[0]), the result is just 1
reuslt不是一个阵列,所以我不能一个接一个地拿起它。我怎么能这样做?
答案 0 :(得分:1)
您应该遍历GG
选择器返回的集合,并将每个元素的jquery/cherrio
属性与其内部文本一起获取。试试:
title
您还可以尝试将var $ = cheerio.load(html);
var arr = $('a[class=A]');
var array = [];
arr.each(function() {
array.push({
title: $(this).attr('title'),
IP: $(this).text()
});
});
表达式替换为$('a[class=A]')
。它看起来更干净。