Как получить список людей репостнувших запись в  Facebook?

Как получить список людей репостнувших запись в Facebook?

Konark 24 сентября, 2020 Комментариев (1)

Именно таким вопросом я задался когда нужно было провести розыгрыш в одной из групп где я администратор. В интернете, в целом есть готовые сервисы и решения, но для страниц. Для группы я сколько ни искал, найти не смог. Что делать в такой ситуации? Да, можно отобрать руками, если участников не так много. А если их 500-1000? А если это нужно делать регулярно? Выход один – писать свой скрипт. Я переписал уже готовый вариант ещё в 2019 году, потом несколько раз обновлял его в соответствии с изменениями в структуре кода FaceBook.

var result       = "\n";

var INTERVAL = window.setInterval(function() {
      window.clearInterval(INTERVAL);
      var items = document.querySelectorAll('#repost_view_dialog .userContentWrapper');
      for (var i=0; i < items.length; ++i)
      {
        var account = items[i].querySelector('.fwb.fcg > a');
        result += account.textContent + '\n';
      }

      console.log(result);
}, 700);

Как использовать скрипт:

  1. Открываете список репостов (не в новом окне, а в том же).
  2. Листаете в самый низ до первого репоста.
  3. Открываете консоль в Хроме (F12).
  4. Выбираете вкладку Console.
  5. Вставляете скрипт сюда:
  1. Ждёте пару секунд или большие (в зависимости от количества участников).
  2. Нажимайте “Copy”
  3. Готово! Вы великолепны. Осталось отсортировать от дублей (если такие есть) одним из онлайн сервисов и можно вставлять в рандомизатор.

UPD 24.09: Фейсбук окончательно обновил свой интерфейс и старая версия скрипта, скорее всего, у Вас не будет работать. С новой версией возникли свои нюансы, которые, пока что, поверхностно посмотрев, я не смог решить. Поэтому прикрепляю дополнительную инструкцию к новому скрипту.

var result       = "\n";
 
var INTERVAL = window.setInterval(function() {
      window.clearInterval(INTERVAL);
      var items = document.querySelectorAll('#jsc_c_13');
      for (var i=0; i < items.length; ++i)
      {
        if (i == 0) {
            continue; // skip author name
        }

        var accountName = items[i].querySelector('a span');
        result += accountName.textContent + '\n';
      }
 
      console.log(result);
}, 700);
  1. Открываете консоль (F12).
  2. Выбираете “курсор” (шаг 1), кликаете на ник любого кто репостнул (шаг 2).
  1. Ищете тэг h3.
  2. Копируете значение атрибута id.
  3. Вставляете скрипт в консоль.
  4. Меняете значение атрибута в скрипте.

Готово! Первые разы нужно дабл чекнуть количество человек.
Внимание, # обязательно должна быть.

Просмотров: 158
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Один ответ из “Как получить список людей репостнувших запись в Facebook?”

  1. Большое спасибо за информацию

Добавить комментарий

Ваш e-mail не будет опубликован. Имя и e-mail обязательны для заполнения.