Почему мои списки XPath и HTML перестали работать в Google Sheets? - PullRequest
0 голосов
/ 27 октября 2019

Мои запросы XPath раньше нормально работали, однако, около месяца назад (или когда Nasdaq перешел на новый веб-сайт. С тех пор я вынужден использовать old.nasdaq.com), они просто начали работать нерегулярно. Как вы можете видеть на прикрепленном экране, некоторые работают, другие нет, и они по очереди.

Те, которые вызывают у меня головную боль, должны взять последние 4 уникальных месяца выплаты дивидендов из истории дивидендов. и отобразить их в строке для дальнейшей обработки.

Запрос на месяцы истории дивидендов выглядит следующим образом ($ B2 - это тикер, например, AAPL):

=iferror(TRANSPOSE(UNIQUE(sort(text(query(IMPORTXML(CONCATENATE("https://old.nasdaq.com/symbol/",$B2,"/dividend-history"),"//tbody//tr[1] | //tbody//tr[2] | //tbody//tr[3] | //tbody//tr[4]"),"select Col6 limit 4"),"mmm"),1,1))))

Запрос Industry действуеттак же. Вот формула:

=(importxml(CONCATENATE("https://old.nasdaq.com/symbol/",B4),"//*[@id='qbar_sectorLabel']/a"))

enter image description here

Использую ли я неправильный подход? Если есть лучшие и более надежные поставщики статистики, чем Nasdaq, я бы тоже хотел о них услышать. Кроме того, я бы хотел, чтобы все было просто (т.е. без сценариев, только формулы G-листов).

Обновление: То же самое происходит со списком Html из предложенного ответа. Через 2 дня результат начал случайным образом исчезать, так же, как и утилита XPath.

1 Ответ

1 голос
/ 27 октября 2019

пробовать:

=ARRAYFORMULA(IFERROR(TRANSPOSE(UNIQUE(TEXT(DATE(2000, 
 SORT(1*REGEXEXTRACT(QUERY(TO_TEXT(IMPORTHTML(
 "https://old.nasdaq.com/symbol/"&B2&"/dividend-history", "table", 3)), 
 "select Col6 limit 4 offset 1", 0), "^\d+")), 1), "MMM")))))

0

...