xpath xml поможет кому-нибудь? - PullRequest
0 голосов
/ 09 марта 2011

Я хочу получить данные из интернета, и мне удалось успешно проанализировать HTML, и теперь мне нужен xpath для извлечения их из таблицы. поэтому я хочу извлечь данные из второго ряда второго кулона. Как бы я это сделал? Я написал это: //table[1]/tr[10]/td[2], но это ничего не показывает

спасибо

Ответы [ 2 ]

0 голосов
/ 09 марта 2011

Не будет ли второй столбец второй строки первой таблицы (предполагается из вашего вопроса)

//table[1]/tr[2]/td[2]

Это не учитывает любые элементы <th>, которые могут присутствовать.

Действительно не уверен, почему вы указываете десятую строку (tr[10])

0 голосов
/ 09 марта 2011

Проблема в том, что HTML не является XML, несмотря на все сходства.Вот почему вы не можете обычно анализировать HTML с помощью синтаксического анализатора XML (что необходимо для использования большинства реализаций XPath).

Один из вариантов - использовать что-то вроде TagSoup (Java), Beautiful Soup (Python) или аналогичная библиотека для других платформ.Эти библиотеки позволяют анализировать HTML, как если бы он был XML, что означает, что стандартные библиотеки XML могут затем использоваться для обработки данных (XPath, XSLT, манипуляции с DOM, события SAX и т. Д.) *

Другойможно попробовать использовать что-то вроде xmllint (с параметрами --html и --xmlout).Это преобразует HTML в правильный XML, что позволяет вам использовать любые инструменты XML, которые вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...