2015-04-14 1 views
5

У меня возникли проблемы с XPath и import.io, и я надеюсь, что вы сможете мне помочь. :)Как использовать substring() с Import.io?

HTML-код:

<a href="page.php?var=12345"> 

На данный момент, мне удается извлечь содержимое HREF (page.php вар = 12345?) С этим:

./td[3]/a[1]/@href 

Хотя я бы хотел просто собрать:

Подстрока может быть решением, но это не похоже работать на import.io, как я его использую ...

substring(./td[3]/a[1]/@href,13) 

Любые идеи о том, в чем проблема?

Спасибо, много заранее!

ответ

7

Попробуйте использовать это для XPath: (Имели поле, выбранное в виде текста)

.//*[@class='oeil']/a/@href 

Затем использовать это для регулярных выражений:

([^=]*)$ 

Это поможет вам номер ISBN вы ищете для.

import.io поддерживает только функции поддержки в XPath, когда они возвращают список узлов

+0

Awesome! Оно работает! Мне просто нужно добавить выражение регулярного выражения к моему коду XPath, и я получаю номер ISBN! Большое спасибо Уилсону! :) – Pierre

1

Ваше выражение путь хорошо, но, возможно, это должно быть

substring(./td[3]/a[1]/@href,14) 

«Не похоже на работу» не очень четкое описание того, что это неправильно. Вы получаете сообщения об ошибках? Является ли выход неправильным? У вас есть код, окружающий выражение пути, которое вы могли бы показать?


Вы можете использовать подстроку, но с использованием substring-after() было бы еще лучше.

substring-after(/a/@href,'=') 

предполагая в качестве входных данных крохотный фрагмент кода вы показали:

<a href="page.php?var=12345"/> 

отберет

12345 

и принимая во внимание структуру вашего входа

substring-after(./td[3]/a[1]/@href,'=') 

ведущий . в выражении пути выбирает только непосредственный дочерний узел td узлов текущего контекстного узла. Надеюсь, вы знаете, что делаете.

+0

Hello Mathias! Спасибо за быстрый ответ. :) Вы правы, «кажется, не работает», - это расплывчатое ... Ну, когда я помещаю свое выражение пути, линия литерно исчезает с страницы результатов ... как будто функция не существовать. Вот почему я спрашиваю, принимает ли import.io подстроку(). Да, я знаю для ведущего., Но будьте уверены, что он работает штрафы, чтобы получить содержимое href, поскольку import.io определяет каждую строку как строку. Возможно, вам будет легче со страницы: http: // www (dot) edistat (dot) com/palmares.php – Pierre

+0

@Pierre Я хотел бы воспроизвести вашу проблему на import.io. Где я могу ввести выражение XPath? –

+0

Создайте Экстрактор для страницы, которую я дал вам (Edistat.com), затем добавьте новый столбец, выберите ссылку книги и, наконец, в правом верхнем углу окна, кликнуть на «винт-гаечный ключ» (слева кнопка рядом с кнопкой CSS) для доступа к дополнительным настройкам: тогда появятся поля XPath и regex. – Pierre