【问题标题】:Need query for XPath that finds all <tr> elements that contain 7 <td> elements需要查询 XPath 以查找包含 7 个 <td> 元素的所有 <tr> 元素
【发布时间】:2011-06-19 14:14:49
【问题描述】:

您好,希望感谢您的帮助。

老实说,我在 XPath 方面不是很有经验,我希望那里的专家能够快速为我解答。

我正在抓取网页以获取数据。我想要的数据的定义方面是它包含在具有 7 个 &lt;td&gt; 元素的行 &lt;tr&gt; 中。每个&lt;td&gt; 元素都有我需要导入的数据之一。我在 CodePlex 上使用HTML Agility Pack 来获取数据,但我似乎无法弄清楚如何定义查询。

网页中包含这样的部分:

<table border="0" cellpadding="3" cellspacing="1" width="100%">
  <tr class="bgWhite" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
    <td class="dataHdrText02" valign="top" width="50" align="center"><nobr>SYMBOL</nobr></td>
    <td class="dataHdrText02" valign="top" align="center">PERIOD</td>
    <td class="dataHdrText02" valign="top" align="center" width="*">EVENT TITLE</td>
    <td class="dataHdrText02" valign="top" align="center">EPS ESTIMATE</td>
    <td class="dataHdrText02" valign="top" align="center">EPS ACTUAL</td>
    <td class="dataHdrText02" valign="top" align="center">PREV. YEAR ACTUAL</td>
    <td class="dataHdrText02" valign="top" align="center"><nobr>DATE/TIME (ET)</nobr></td>
  </tr>
  <tr class="bgWhite">
    <td align="center" width="50"><nobr>CSCO&#160;</nobr></td>
    <td align="center">Q4&#160;2011</td>
    <td align="left" width="*">Q4 2011 CISCO Systems Inc Earnings Release</td>
    <td align="center">$ 0.38&#160;</td>
    <td align="center">n/a&#160;</td>
    <td align="center">$ 0.43&#160;</td>
    <td align="center"><nobr>10-Aug-11</nobr></td>
  </tr>
  <tr class="bgWhite">
    <td align="center" width="50"><nobr>CSCO &#160;</nobr></td>
    <td align="center">Q3&#160;2011</td>
    <td align="left" width="*">Q3 2011 Cisco Systems Earnings Release</td>
    <td align="center">$ 0.37&#160;</td>
    <td align="center">$ 0.42&#160;</td>
    <td align="center">$ 0.42&#160;</td>
    <td align="center"><nobr>11-May-11 AMC</nobr></td>
  </tr>
  <tr class="bgWhite" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
     <td align="center" colspan="7"><img src="/format/cb/images/spacer.gif" width="1" height="4"></td>
  </tr>
</table>

我的目标是获取收入事件数据并将其放入数据库进行分析。我最初的想法是使用 7 个 &lt;td&gt; 元素获取所有 &lt;tr&gt; 元素,然后使用该数据。欢迎任何建议或替代建议。

【问题讨论】:

    标签: xpath screen-scraping web-scraping html-agility-pack


    【解决方案1】:

    这应该为你做。

    //tr[count(td)=7]
    

    【讨论】:

    • 谢谢!我这边有一个小错误修复和你的 XPath 查询,看起来我在做生意。
    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多