gpt4 book ai didi

javascript - 使用 Node.js + Cheerio 进行抓取 - 重复,选择器内的选择器会创建重复的返回

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:14 25 4
gpt4 key购买 nike

情况是这样的。我正在使用 Node.js 和 Cheerio我的控制台日志返回很好,除了站点结构导致的一些重复内容...

我的脚本:

var request = require ('request'),
cheerio = require('cheerio'),
chart = [];

request('http://www.website-X.com', function(err, resp, body){
if(!err && resp.statusCode == 200){
var $ = cheerio.load(body);
$('tr', '#chart_body').each(function(){
var rank = $(this).text().trim().replace(/\s\s+/g, ';');
chart.push(rank);
});
console.log(chart);
}
});
<小时/>

网站结构(简化):

                    <table id="chart_body">
<tr><!-- 1 Info I need --></td>
<tr><!-- 2 Info I need --></td>
<table>
<tbody>
<tr> Duplicate info as 1 </tr>
</tbody>
</table>
<tr><!-- 3 Info I need --></td>
<tr><!-- 4 Info I need --></td>
<tr><!-- 5 Info I need --></td>
<tr><!-- 6 Info I need --></td>
</table>
<小时/>

我的控制台日志返回:

'1;Wolfenstein;330,703;330,703;1',
'Wolfenstein',
'2;Wolfenstein;188,200;188,200;1',
'Wolfenstein',
'3;Minecraft;126,041;215,109;2',
'Minecraft','
<小时/>

除了重复的内容之外,我的控制台日志返回正常。这是因为在站点结构中选择器 tr 中有另一个 tr。我无法摆脱“tr tr”。tr 也没有独特的类可供进一步选择。

请帮忙。谢谢!!!-奥尔多

哦,最后...每次返回的开头和结尾都有令人讨厌的单引号。我拿不出来。

最佳答案

如果 tr 行始终重复,则只能选择奇数行:

$('tr', '#chart_body').odd()

使用 this answer. 中的函数

关于javascript - 使用 Node.js + Cheerio 进行抓取 - 重复,选择器内的选择器会创建重复的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24001438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com