Опрос пользователей, которым «нравится» моя страница в Facebook - PullRequest
23 голосов
/ 03 марта 2011

Мне было интересно, можно ли запросить следующее:

  • Список (всех) пользователей, которым нравится моя страница в Facebook, и
  • Дополнительная информация, которую эти пользователи сделали публичнодоступно (за пределами имени и фамилии)

В основном, для получения подробной маркетинговой статистики пользователей, которым нравится моя страница в Facebook, если это возможно.Любые предложения или альтернативы приветствуются.

Спасибо.

Ответы [ 8 ]

30 голосов
/ 04 марта 2011

Боюсь, это НЕ возможно, следуйте этой ошибке для получения дополнительной информации.

Еще одним доказательством является таблица page_fan, которую вы заметите, что только поле uid индексируется, поэтому вам нужно , чтобы узнать идентификатор пользователя для его поиска, а не page_id,как вы знаете, если пользователю " нравится " страница, это будет означать, что он является " поклонником " этой страницы.


После некоторой активной работы с API Facebook, а также после анонсов и выпусков API (и устаревших) вместе с введением и изменением политик я могу понимать, что Facebook будет делиться информацией о своих пользователях только в том случае, если они явно это сделают (иначе взаимодействуют / авторизуют ваши приложения).

И, следовательно, лучшее, что можно сделать в отсутствие такой функции:

  1. Понимать свою аудиторию с помощью Page Insights
  2. Сбор поклонниковинтересов и информации, создавая собственные приложения с помощью вкладок страницы и используя другие функции Facebook, такие как Вопросы
11 голосов
/ 10 августа 2012

Хорошо, никто не хочет нарушать TOS Facebook, но они связали нам руки с нашими собственными основными данными. Таким образом, очистка является незаконной, но не сохранение страницы. Что я сделал (и учтите, что мне это нужно для автономных целей в любом случае): Перейти к https://www.facebook.com/browse/?type=page_fans&page_id={FAN PAGE ID} Прокрутите вниз, пока у вас не появятся все ваши поклонники. Сохраните эту страницу на вашем локальном компьютере, скажем, Facebook.html. Теперь, используя ruby ​​и nokogiri:

require 'nokogiri'
>true
f = File.open('/your_path/Facebook.html')
doc = Nokogiri::HTML.parse(f.read)
doc.xpath('//div[@class="fsl fwb fcb"]/a').each {|link| puts link.content}
6 голосов
/ 14 января 2014

Сделайте поиск по графику так: "Люди, которым нравится [имя вашей фан-страницы]". У вас будет весь результат.

Затем создайте ярлык в вашем браузере с этим кодом javascripts, он будет нажимать на ссылку Просмотреть больше и прокручивать, пока все результаты не отобразятся на странице:

javascript: i = 0;minutes = 30;counter = minutes * 60;function repeatScroll() {
if (i < counter) {window.scrollTo(0, document.body.scrollHeight);i++;}    
setTimeout(repeatScroll, 1000);}repeatScroll();

После этого создайте другой ярлык и запустите этот код js, чтобы получить все UID из результата поиска:

javascript:var txt="";e=document.getElementsByClassName("FriendRequestOutgoing");
for(var i=0; i<e.length; i++) {v=e[i].getAttribute("data-profileid");
if(v) txt+=v+"\n"}document.body.innerHTML="<textarea>"+txt+"</textarea>";

На экране появится текстовое поле со всеми идентификаторами внутри. Просто скопируйте его в свой блокнот и импортируйте в свою пользовательскую аудиторию в Менеджере рекламы Facebook.

Я создал и использую этот код каждый день, чтобы получить все UID с нужным мне критерием. Вы можете запустить любой график поиска, который вы хотите. Это самодельный код, поэтому используйте его без вашей ответственности :)

Наслаждайся ими.

5 голосов
/ 04 мая 2012

Это возможно, просто больше не с FQL.

Сделайте GET из https://www.facebook.com/browse/?type=page_fans&page_id={FAN PAGE ID} и удалите пользователей.

Viola.

2 голосов
/ 24 сентября 2015

Теперь вы можете получить людей на своей странице с помощью этой ссылки или нажать кнопку «Настройки», а не «Люди» на левой боковой панели.https://www.facebook.com/[PAGENAME]/settings/?tab=people_and_other_pages

Если вы хотите получить все фотографии пользователя, нажмите F12 и добавьте эти коды в консоль:

javascript:i=0;minutes=30;counter=minutes*60;function repeatScroll(){if(i<counter){window.scrollTo(0, document.body.scrollHeight);i++;}setTimeout(repeatScroll,1000);}repeatScroll();

чем, когда вы достигли нижней части страницы:

javascript:var txt="";e=document.getElementsByClassName("img"); for(var i=0; i<e.length; i++) {v=e[i].getAttribute("src"); if(v) txt+="<img src='"+v+"'>\n"}document.body.innerHTML="<textarea>"+txt+"</textarea>";

Для отображения фотографий: создайте страницу HTML и сначала вставьте в этот файл следующие строки:

<meta charset="utf-8">
<style>img { width:21px; margin:-1px; }</style>
<div style="width:851px; height:315px;background-color:white;">
<!-- PASTE HERE PHOTOS' CODE YOU GET -->
<span style="color:#3B5998;font-weight:bold;font-size:20px;margin-bottom:4px;">600 like, thank you!</span>
<!-- PASTE HERE PHOTOS' CODE YOU GET -->    
</div>
0 голосов
/ 28 сентября 2018

загрузить весь список

i = 0;
minutes = 30;
counter = minutes * 60;
function repeatScroll() {
    if (i < counter) {
        window.scrollTo(0, document.body.scrollHeight);
        i++;
    }    
    setTimeout(repeatScroll, 1000);
}
repeatScroll();

получить идентификатор

var e=document.getElementsByClassName("_3cb8");
var ids = [];
for(var i = 0 ; i < e.length; i++){
  ids.push(e[i].getAttribute("href"));
}
console.log(ids);
0 голосов
/ 21 апреля 2016

Затем создайте ярлык в вашем браузере с помощью этого кода JavaScript, он будет нажимать на ссылку Просмотреть больше и прокручивать, пока все результаты не отобразятся на странице:

i = 0;
minutes = 30;
counter = minutes * 60;
function repeatScroll() {
    if (i < counter) {
        window.scrollTo(0, document.body.scrollHeight);
        i++;
    }    
    setTimeout(repeatScroll, 1000);
}
repeatScroll();

После этого создайте другой ярлык и запустите этот код js, чтобы получить все UID из результата поиска:

var e=document.getElementsByClassName("fsl fwb fcb");
var ids = [];
for(var i = 0 ; i < e.length; i++){
  ids.push(JSON.parse(e[i].childNodes[0].getAttribute("data-gt")).engagement.eng_tid);
}
console.log(ids);
0 голосов
/ 18 апреля 2012

Вы можете получить его, используя открытый график Facebook.

https://graph.facebook.com/<your-page-name-or-page-id>/likes

Например:

https://graph.facebook.com/chickfila/likes

Вам нужно отправить вызов API api, используя "id", чтобы узнать больше о пользователе, который любит вашу страницу.

Однако при этом вызове будут извлечены другие объекты Facebook, которые понравились странице (Chickfila), а НЕ пользователи, которым понравилась страница Chickfila.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...