Как сделать импорт xml дать только определенные данные - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь получить только количество лайков с сайта. В настоящее время я использую

=IMPORTXML("https://www.abillionveg.com/articles/vegan-diet-nutrition-guide","//button")

Однако, он дает мне данные со всех кнопок. Может ли кто-нибудь помочь мне изменить формулу, чтобы показывать только лайки? Извините, если это базовый c вопрос, я только учусь.

1 Ответ

1 голос
/ 26 марта 2020
  • Вы хотите получить число the number of likes, используя IMPORTXML.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Модифицированная формула 1:

=INDEX(SPLIT(IMPORTXML(A1,"//div[@class='ArticleActions__Container-sc-15ye7g8-0 huWdyg'][1]//span[contains(text(),'likes')]")," "),1)
  • URL-адрес https://www.abillionveg.com/articles/vegan-diet-nutrition-guide помещается в ячейку "A1".
  • xpath: //div[@class='ArticleActions__Container-sc-15ye7g8-0 huWdyg'][1]//span[contains(text(),'likes')].
  • Извлечь значение, используя IMPORTXML.
  • Извлечь число ### из значения, такого как ### likes, используя SPLIT и INDEX.
Результат:

enter image description here

Модифицированная формула 2:

=REGEXEXTRACT(IMPORTXML(A1,"//script[@id='__NEXT_DATA__']"),"likesCount""\:(\d+)") - 1
  • Этот результат то же самое с измененной формулой 1.

Примечание:

  • Например, если используется =IMPORTXML(A1,"//div[@class='ArticleActions__Container-sc-15ye7g8-0 huWdyg'][1]//span[contains(text(),'likes')]"), извлекается 100 likes.

Ссылки

Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, я прошу прощения.

...