Какое выражение XPath следует использовать для получения количества лайков и комментариев к видео на YouTube?

Я использую функцию «IMPORTXML» в таблицах Google, чтобы получить количество лайков и комментариев к любому видео на YouTube. Однако я не могу найти правильный XPath, и все, что я пробовал, возвращало пустое значение.

Я использовал ChroPath для извлечения XPath комментариев и количества лайков, но безуспешно.

Это XPath, который я использовал для количества комментариев:

//yt-formatted-string[@class='count-text style-scope ytd-comments-header-renderer']

А это по количеству лайков:

//div[@id='info']//ytd-toggle-button-renderer[1]//a[1]//yt-icon-button[1]

Когда я пробую их, он просто говорит, что содержимое пусто. Каков правильный XPath, который я должен использовать, чтобы получить количество лайков и комментариев?


person nmaurok    schedule 18.08.2019    source источник


Ответы (2)


  • Вы хотите получить количество лайков видео на YouTube.
  • Вы хотите поместить значение в электронную таблицу.

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

Пример формулы:

=VALUE(IMPORTXML(A1,"//button[@title='I like this']/span"))
  • В этом случае ячейка «A1» — это URL-адрес, например https://www.youtube.com/watch?v=###.
  • Xpath равен //button[@title='I like this']/span".

Пример скрипта Google Apps Script:

В качестве еще одного метода получения количества лайков, если вы используете расширенные службы Google скрипта Google Apps, пример скрипта выглядит следующим образом.

var count = YouTube.Videos.list("statistics", {id: "###"}).items[0].statistics.likeCount;
  • ### – это идентификатор видео.

Использованная литература:

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

person Tanaike    schedule 18.08.2019
comment
Вот и все! Не могли бы вы помочь мне найти XPath, который даст количество комментариев? Спасибо. - person nmaurok; 19.08.2019
comment
@nmaurok Спасибо за ответ. Я глубоко извиняюсь, что мой ответ был неполным. Что касается вашего следующего вопроса, к сожалению, кажется, что количество комментариев не может быть получено с помощью xpath. В этом случае я рекомендую использовать скрипт типа var count = YouTube.Videos.list("statistics", {id: "###"}).items[0].statistics.commentCount;. Я глубоко извиняюсь, что не смог ответить на все Ваши вопросы. - person Tanaike; 19.08.2019
comment
Я начал использовать Google Script, как вы предложили, и это сработало как шарм. Большое спасибо! - person nmaurok; 19.08.2019
comment
@nmaurok Спасибо за ответ. Спасибо за тестирование скрипта Google Apps. И тебе спасибо. - person Tanaike; 19.08.2019

для лайков YT вы можете использовать:

=IF(ISNA(IMPORTXML("https://www.youtube.com/watch?v=MkgR0SxmMKo","(//*[contains(@class,'like-button-renderer-like-button')])[1]"))=TRUE,0,
         IMPORTXML("https://www.youtube.com/watch?v=MkgR0SxmMKo","(//*[contains(@class,'like-button-renderer-like-button')])[1]"))
person player0    schedule 19.08.2019