/ / Використання = importXML в Google Документах - xpath, google-електронна таблиця

Використання = importXML у Документах Google - xpath, google-таблиця

З веб-сайту https://www.google.co.uk/finance?cid=704531 Я намагаюся імпортувати поля "Діапазон" і "52 тиждень" та інші групи цієї групи посередині. Я подивився на XPath і дуже збентежений ним.

У комірці А1 я https://www.google.co.uk/finance?cid=704531.

У комірці В1 я

=importxml(A1,//*[@id="market-data-div"]/div[2]/div[1]/table[1]/tbody/tr[4]/td[1])

Але результат - помилка.

Який правильний вираз XPath для цієї структури HTML?

Відповіді:

4 для відповіді № 1

Дом та <tbody/>

Здається, ви створили цей вираз XPath в Firebug або подібних інструментах для розробників. Хоча HTML не вимагає <tbody/> теги, які робить DOM; і ці інструменти для розробників працюють над DOM і таким чином загортають рядки таблиці в такий елемент. Ви можете легко побачити різницю, переглядаючи джерело сторінки (отримано користувачем wget або інші інструменти, якщо це необхідно) та структуру, представлену Firebug.

Просто опустіть /tbody крок осі у вашому вираженні:

//*[@id="market-data-div"]/div[2]/div[1]/table[1]/tr[4]/td[1]

У будь-якому випадку, я б швидше йшов на отримання комірок за описом, який трохи слабкіший щодо змін у формулюванні, але набагато більш надійний до змін у структурі:

//*[@id="market-data-div"]//tr[td = "Vol / Avg."]/td[2]

Цитуючи вираз

Друга проблема полягає в тому, що ви повинні цитувати вираз XPath у подвійних лапках, тому, наприклад, використовуйте:

=importxml(A1,"//*[@id="market-data-div"]//tr[td = "Vol / Avg."]/td[2]")