【问题标题】:What's the fastest way to parse this HTML table?解析这个 HTML 表格的最快方法是什么?
【发布时间】:2016-10-27 11:21:05
【问题描述】:

我正在尝试解析从网站获取的 Node 中的表。桌子看起来像这样。我想忽略标头并仅解析实际的交易主体。

        <tbody><tr class="dgHeader" style="font-weight:bold;">
            <th scope="col">Reference 1</th><th scope="col">Reference 2</th><th scope="col">Reference 3</th><th scope="col">Reference 4</th><th scope="col">Gross Amount</th><th scope="col">Discounts/Surcharges</th><th scope="col">Net Amount</th><th scope="col">Means of Payment</th><th scope="col">Form of Payment</th><th scope="col">Payment Folio</th><th scope="col">Branch</th><th scope="col">Time</th><th scope="col">Maturity Date</th><th scope="col">Payment date</th>             </tr><tr align="left">
            <td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblReferencia1">0000000000000000000000000000000X4D649G66</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblReferencia2"></span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblReferencia3"></span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblReferencia4"></span>
                    </td><td align="right">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblImporteBruto">$40.00</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblDescuentosRecargos">$0.00</span>
                    </td><td align="right">
                    <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblImporteNeto">$40.00</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblMedioPago">Internet</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblFormaPago">Cash</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblFolioPago">45786172008896142466 </span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblSucursal">4578</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblHora">01:48:59 p.m.</span>
                    </td><td>
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblFechaVencimiento">00/00/0000</span>
                    </td><td align="left">
                        <span id="ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblFechaPago">20/06/2016</span>
                    </td>           </tr>       </tbody>

我一直在使用 Cheerio,但很难获取 id 标签以从表中获取数据。

【问题讨论】:

  • 您的问题到底是什么?您的标题、问题正文和 cmets 都会提出不同的问题。
  • 我澄清了我的真实问题,并在下面发布了答案。很抱歉浪费了任何时间。我基本上想了解如何解析 html 表格并基于选择器抓取文本。

标签: javascript html node.js parsing cheerio


【解决方案1】:

这最终解决了它,让我很容易获得参考代码。

$ = cheerio.load(str, {
    ignoreWhitespace: true
  });

$('tr').each(function(i, tr){   
    var reference = $('#ctl00_Contentplaceholder1_gvConcentracionPagos_ctl02_lblReferencia1').text())
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2020-06-28
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 2012-07-28
    相关资源
    最近更新 更多