Как извлечь данные из таблицы без информации о стиле / классе / идентификаторе - PullRequest
0 голосов
/ 12 февраля 2012

я хочу разобрать конкретную таблицу на слом.код таблицы приведен ниже ..

<table class="NormalText" cellspacing="1" cellpadding="2" width="100%" border="0"
    bgcolor="#eeeeee">
    <tr>
        <td width="108" align="center">
            Stock No.
        </td>
        <td width="108" align="center">
            <span id="invModule_grid_row18_lblMileage">Mileage</span>
        </td>
        <td width="108" align="center">

            Color
        </td>
        <td width="76" align="center">
            Interior
        </td>
        <td width="104" align="center">
            Transmission
        </td>
        <td width="110" align="center">
            Engine
        </td>

    </tr>
    <tr>
        <td width="108" align="center">
            1204
        </td>
        <td width="108" align="center">
            161,328
        </td>
        <td width="108" align="center">
            Tan
        </td>

        <td width="76" align="center">
            Leather   
        </td>
        <td width="104" align="center">
            Automatic
        </td>
        <td width="110" align="center">
            3.5L V6 DOHC 16V
        </td>
    </tr>

    <tr>
        <td colspan="7" height="7">
        </td>
    </tr>
</table>

и желаемый результат:

1194 56 200 Blue Vinyl 5-скоростной 6,8 л V10 SOHC 30 В

Вопросы

Какая техника синтаксического анализа / анализатор лучше всего подходит для этого?PHPQuery, simplehtmlparse или xpath? Я более знаком с domDocument, xpath и php, это можно сделать с помощью xPath? если да, что будет xPath?(Я сбит с толку, так как мои необходимые данные находятся в td, и к тегу td не прикреплены ни id, ни информация о классе. Кроме того, в строке uper, которая в основном является строкой заголовка, также есть td)

Пожалуйста, ведите меня

1 Ответ

2 голосов
/ 12 февраля 2012

1001 * XPath * В следующем примере выбирается текст из всех узлов td в строке таблицы в таблице: //table/tr[position()>1]/td/text() Вам нужно знать одну из двух вещей, если на странице есть другие таблицы:

Получает последнюю таблицу:

//table[last()]/tr[position()>1]/td/text()

Получает третью таблицу:

//table[2]/tr[position()>1]/td/text()

Получает таблицу на основе атрибута, в данном случае, когда class = "NormalText":

//table[@class='NormalText']/tr[position()>1]/td/text()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...