基于HTML注释查找文本

基于HTML注释查找文本,html,ruby,nokogiri,Html,Ruby,Nokogiri,如何使用Nokogiri查找中的文本(解析HTML) 我正在网站中输入搜索词,搜索结果将显示在下一页。如果数据满足某些条件,我需要以编程方式从结果页获取数据 我在分析结果页面时注意到,这些项目被分解为制裁。我需要知道制裁是否有数据,如果有,是否包含我的关键字;我在找郡/州。我不知道如何让它看起来像一个制裁。下面是一些HTML: <!--Sanction 3--> <table border="2" cellpadding="2" cellspacing="0" width="

如何使用Nokogiri查找
中的文本(解析HTML)

我正在网站中输入搜索词,搜索结果将显示在下一页。如果数据满足某些条件,我需要以编程方式从结果页获取数据

我在分析结果页面时注意到,这些项目被分解为制裁。我需要知道制裁是否有数据,如果有,是否包含我的关键字;我在找郡/州。我不知道如何让它看起来像一个制裁。下面是一些HTML:

<!--Sanction 3-->

<table border="2" cellpadding="2" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th class="XXheaderClass" colspan="5" scope="colgroup">
                <table bgcolor="#ff9999" width="100%">
                    <tbody>
                        <tr>
                            <td class="XXsanctionHeader1">
                                <span class="XXtextBold">Requirements Met</span>
                            </td>
                            <td class="XXsanctionHeader2">
                                <span class="XXtextBold">Status: GOOD</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </th>
        </tr>
        <tr>
            <th class="XXheaderClass" width="31%" scope="col">
                <span class="XXsmallTextBold">Description</span>
            </th>
            <th class="XXheaderClass" width="12%" scope="col">
                <span class="XXsmallTextBold">Effective Date</span>
            </th>
            <th class="XXheaderClass" width="12%" scope="col">
                <span class="XXsmallTextBold">Number</span>
            </th>
            <th class="XXheaderClass" width="12%" scope="col">
                <span class="XXsmallTextBold">County/State</span>
            </th>
            <th class="XXheaderClass" width="33%" scope="col">
                <span class="XXsmallTextBold">Address and Phone Number</span>
            </th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <td class="footerClass" colspan="5">
                <table class="panelBox">
                    <tr>
                        <td>
                            <a href="SanctionHelpPages/Sanction03Help.aspx" id="MainContent_lvSanction3_sanction03Link" class="outputLinkEx"><span class="XXlinkBold">
                                    Click Here</span></a>
                        </td>
                        <td>
                            <span class="XXtextBold">to resolve,
                                requirements met.</span>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </tfoot>
    <tbody>

        <tr id="MainContent_lvSanction3_Tr1_0">
            <td class="XXsmallText">
                <span id="MainContent_lvSanction3_lblDescription_0">DESCRIPTION     </span>
            </td>
            <td class="XXsmallText">
                <span id="MainContent_lvSanction3_lblEffectiveDate_0">9/19/20011</span>
            </td>
            <td class="XXsmallText">
                <span id="MainContent_lvSanction3_lblNumber_0">1111             </span>
            </td>
            <td class="XXsmallText">
                <span id="MainContent_lvSanction3_lblCountyState_0">MyCounty       </span>
            </td>
            <td class="XXsmallText">
                <span id="MainContent_lvSanction3_lblAddressAndPhoneNumber_0">1234 MyRoad AVE. CITY                                        (xxx)xxx-xxxx</span>
            </td>
        </tr>

    </tbody>
</table>
<br />

满足要求
状态:好
描述
生效日期
数
县/州
地址和电话号码
解决,,
满足要求。
描述
9/19/20011
1111
菌类
城市大道1234号(xxx)xxx xxxx


您可以使用
doc.xpath(“//comment()”)
查找所有注释节点。然后,您可以遍历这些节点,并检查它们的兄弟节点是否有您的数据。如果没有更多的信息,就很难给出一个全面的答案。

+1基本同意。我会忽略注释节点,查看底层表,在其中搜索标识所需内容的文本。作为最后的手段,我会寻找评论。但这只是我的问题。那么您希望仅在“制裁”3中的“CountyState”包含搜索词的表中提取数据单元格?您需要提取哪些数据单元?其他“制裁”包含什么?@MarkThomas我还需要其他制裁的信息。另一项制裁与上述规定相同。根据搜查情况,制裁可能存在,也可能不存在。根据搜索结果,可能有一个或多个“CountyState”。我们应该如何识别您想要的信息?你想要所有包含匹配CountyState的制裁吗?@MarkThomas抱歉,我想如果我能找出一个,那么我就能找出另一个。我需要这两种制裁在单独的有条件声明中。例如,如果制裁3有数据且countystate=x,则将“行”放入文件“A”(以及我需要的其他制裁的数据)。我知道如何写我的条件语句,但我不知道如何指向3。现在我的语句正在查看整个页面,因此我得到了不正确的输出。