инструмент для извлечения запроса xpath из указанного / выбранного узла - PullRequest
2 голосов
/ 04 мая 2020

Обычно можно использовать запрос XPath для получения определенного значения или узла. В моем случае я занимаюсь веб-скраппингом с помощью электронных таблиц Google, используя функцию importXML для автоматического обновления некоторых значений. Ниже приведены два примера:

=importxml("http://www.creditagricoledtvm.com.br/";"(//td[@class='xl7825385'])[9]")
=importxml("http://www.bloomberg.com/quote/ELIPCAM:BZ";"(//span)[32]")

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

Например, во втором случае я заметил, что информация, которую я хотел, находилась в узле диапазона (отсюда (//span)), поэтому я распечатал их все в электронной таблице и использовал количество строк, чтобы найти индекс [32]. Загрузка занимает много времени, поэтому это довольно неудобно. Кроме того, я даже не помню, как вычислил запрос //td[@class='xl7825385']. Поэтому почему мне интересно, есть ли более практичный метод указания на элементы страницы.

1 Ответ

4 голосов
/ 05 мая 2020

Некоторые подсказки:

  • Изучение основ XPath все еще полезно. W3Schools - хорошая отправная точка. https://www.w3schools.com/xml/xpath_intro.asp
  • В противном случае встроенные инструменты разработчика вашего браузера могут помочь вам создать абсолютный XPath. Выберите элемент, щелкните его правой кнопкой мыши и затем> Копировать> Копировать XPath. https://developers.google.com/web/tools/chrome-devtools/open
  • Расширения браузера, такие как Chropath, могут генерировать для вас абсолютный или относительный XPath. https://autonomiq.io/chropath/
...