Как подсчитать общее количество просмотров всех прямых трансляций YouTube в результатах поиска, используя xpath в консоли DevTools? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь подсчитать общее количество зрителей, которые смотрят несколько прямых трансляций на YouTube одного события (слушания Конгресса Майкла Коэна), которое транслируется в прямом эфире десятками учетных записей (сотни тысяч людей смотрят) одновременно.Как подсчитать общее количество зрителей всех потоков для события в консоли Chrome DevTools, используя xpath //*[@id="metadata-line"]/span, для подсчета количества элементов каждого видео на странице результатов поиска .(Я искал "Michael Cohen", отфильтрованный по живому, отсортирован по количеству просмотров) enter image description here

1 Ответ

0 голосов
/ 27 февраля 2019

Вместо этого можно использовать путь JS:

// Get the total of "li" elements in the current page:
var qtyResultsPerPage = document.querySelectorAll('#item-section-185938 > li').length;

// Variable which will get the sum of all visualizations.
var totalViewsPerPage = 0;

// Loop the "li" elements:
for (var incr = 1; incr < qtyResultsPerPage; incr++) {

  // Sum in the "totalViewsPerPage" variable the retrieved value in the iteration.
  // NOTE: The "dot" is removed (excluding also the words).
  totalViewsPerPage += parseFloat(document.querySelector('#item-section-185938 > li:nth-child(' + incr + ') > div > div > div.yt-lockup-content > div.yt-lockup-meta > ul > li').innerText.split(" ")[0].replace(".", ""));
}

// Show the total:
console.log("Total views: " + totalViewsPerPage);

NB. Значение item-section- изменяется при перезагрузке страницы.Кроме того, в этом примере извлекаются только визуализации, доступные на текущей странице.

Вы также можете использовать API данных YouTube для получения этих результатов.Это демо , которое вы можете использовать.

...