XPath YQL получать только определенные столбцы

0

Привет, У меня есть html-страница, которую я хочу запросить/"очистить" с помощью YQL. Я хочу получить только текст из четырех столбцов из тега таблицы на этой странице html, и я не знаю, как представить это с помощью XPath.

Я нашел одну из ячеек, щелкнув правой кнопкой мыши по ячейке в Chrome, проверил элемент и скопировал xpath, и это результат, который я получил только для этой ячейки.

//*[@id="partsTable"]/tbody/tr[1]/td[8]/text()

Таким образом, это выражение для 1-й строки и 8-го столбца. На самом деле, я хочу получить все строки для содержимого в столбцах 5,6,8,9. Я не знаю, можно ли легко написать это в XPath.

Большое спасибо за помощь. (Я абсолютно не знаком с XPath, поэтому объяснение будет оценено)

Теги:
xpath
yql

2 ответа

0
Лучший ответ

Вы можете запрашивать определенные позиции с синтаксисом, подобным SQL IN:

[position() = (5, 6, 8, 9)]

Таким образом, ваше полное выражение:

//*[@id="partsTable"]/tbody/tr[1]/td[position() = (5, 6, 8, 9)]/text()
0

Используйте position() для запроса индекса элемента.

//*[@id="partsTable"]/tbody/tr/td[5 <= position() and position() <= 9]/text()

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню