javascript - html 表中的 Node.js Cheerio 解析 html 表

标签 javascript html node.js parsing cheerio

<table cellspacing="0" cellpadding="0" width="90%" align="center" border="0">       
        <tr>
            <td>

                        <table cellpadding="0" cellspacing="1" width="90%" border="0" align="center">
                            <tr>
                                <td

整个第二个表都在第一个表的 td 标签内。

我是 cheerio 的新手。我不能完全让我的输出只给我内表 tr 值。我得到了两张 table ,而且很乱。

$ = cheerio.load(html.toString());
var data = [];
    $('tr').each(function(i, tr){

        var children = $(this).children();
        var itemNum = children.eq(0);

        var row = {
            "Num": itemNum.text().trim()
        };
        data.push(row);
        console.log(row);
    });    

最佳答案

   $ = cheerio.load(html.toString());
var data = [];
    $('table tr td table tr').each(function(i, td){

        var children = $(this).children();
        var itemNum = children.eq(0);
        var itemName = children.eq(1);

这段代码解决了这个问题。我没有意识到你只是传递元素直到你到达你需要的那个然后使用 children.eq(n) 我能够获得行中的每个 td 文本值。希望这可以帮助其他人。

关于javascript - html 表中的 Node.js Cheerio 解析 html 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44275369/

相关文章:

JavaScript 数组 - 意外标记

javascript - 在 Mozilla firefox 中不起作用,在 chrome 中工作正常 $ ('input[data-type="choise"]').change(function()

javascript - 在cherrypy中在python和javascript之间共享变量信息

html - 打印页面时的样式问题

javascript - 有人可以帮我在按键后运行 CSS 动画吗?

node.js - Express.js错误: Can't set headers after they are sent

node.js - OpenWhisk 返回整个响应对象而不仅仅是数据

javascript - 计算不同的输入值,将它们相加并显示结果

jquery one() 在 chrome 中不能正常工作

node.js - 简单对等。 ("signal") 事件重复多次