我正在尝试使用Cheerio(类似于jQuery)来操纵看起来像这样的HTML页面:
<TABLE>
<!--- table body -->
</TABLE>
<!-- more html -->
<TABLE>
<!--- another table body -->
</TABLE>
<!-- more html -->
<TABLE>
<TBODY>
<TR>
<TD>Column 1 value</TD>
<!-- similar cols 2-5 -->
</TR>
<!-- more rows -->
</TBODY>
</TABLE>
<!-- rest of page -->
也就是说,该页面上有三个TABLE元素,没有一个具有ID。我需要第三个。我只想遍历表中的行并提取每行中的第一,第三和第五个单元格。
应该很简单,对吧?但是我什至无法弄清楚如何遍历行。
const $ = Cheerio.load(html);
const third = $($("table").get(2));
third.find("tr").each((i, e) => {
console.log(String(i));
})
这不会产生任何输出。
如果我登录的third.html()
写入正确表的html。但是我什至无法计算其中的行数,更不用说深入表单元格了。我看过several other的答案,但它们都是基于根的单个选择器。我不太了解third
是什么数据类型,或者如何操作它。
答案 0 :(得分:0)
Cheerio的工作方式(或多或少)与jQuery相同。因此,如果您不确定如何在Cheerio中执行某些操作,建议您查看jQuery文档。无论如何:请尝试以下方法:
$('table').eq(2).find("tr").each(function(i, row){
console.log($(this).find('td').eq(0).html());
console.log($(this).find('td').eq(2).html())
console.log($(this).find('td').eq(4).html())
});