Найти текст на основе HTML-комментария - PullRequest
3 голосов
/ 10 марта 2012

Как мне использовать Nokogiri для поиска текста в <!--Sanction 3--> (парсинг 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 />

1 Ответ

6 голосов
/ 10 марта 2012

Вы можете использовать doc.xpath("//comment()"), чтобы найти все узлы комментариев.Затем вы можете выполнить итерации по этим узлам и проверить их данные на своих братьях и сестрах.Однако без дополнительной информации сложно дать исчерпывающий ответ.

...