Получите данные со страницы на странице в фейсбуке или на стене группы для использования на персональном веб-сайте. - PullRequest
15 голосов
/ 05 августа 2010

Я хочу подключиться к общедоступной странице или группе Facebook и перечислить все записи со стены на личном веб-сайте.Я буду использовать PHP на моем сервере, так что это будет лучшим решением для меня.Или javascript.

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

Если возможно обрабатывать информацию о человеке, дате, описании ... для каждого поста, это было бы здорово!Таким образом, мой макет может быть настроен.

Спасибо за помощь мне здесь!

Ответы [ 4 ]

4 голосов
/ 05 августа 2010

Вам нужно запустить FQL на stream table и указать идентификатор интересующей вас страницы или группы как source_id (в документах fb есть некоторые пояснения и примеры).Как только вы получите потоковые данные, вы можете копать глубже и получить пользователя, который оставил этот пост или любые другие данные, которые вам нужны снова через FQL.

Существует много способов запуска FQL - это можно сделать в JS API, PHP API или через старый REST API.

2 голосов
/ 30 августа 2011

в JavaScript (jQuery).

Вы можете использовать мой запасной access_token для просмотра общедоступных групп или страниц;)

Чтобы получить собственный токен доступа, Facebook Graph Explorer может сгенерировать его для вас (такжев качестве тестовых запросов).

В Javascript мы делаем запрос к графику facebook, который возвращает объект JSON.Ответ выглядит следующим образом: this .

Приведенный ниже код выполняет итерации каждой записи и выводит сообщение, если вы посмотрите на ссылку выше, которая дает вам соглашение об именах для других полей данных.

например:

data.data[0].created_time;
data.data[0].from.name;

и т. Д.

Надеюсь, что поможет!

<!DOCTYPE html>
<head>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
</head>

<body>

<ul id = 'list'>
<script>

    var graphQuery = 'https://graph.facebook.com/2228101777/feed';
    var authToken = '145634995501895|477bb3c939123a5845afe90d.1-100002565213903|F1VA26jsYL7yBeq2iU6SZX_XXrs'

    var url =  graphQuery +'?access_token='+ authToken +'&callback=?';  

    $.getJSON(url,function(data){                       
        for( i=0; i < data.data.length; i++){
            $("#list").append('<li>'+ data.data[i].message +'</li>');   
            // add some more here if needed
        }               
    }); 

</script>

</ul>
</body>
</html>
2 голосов
/ 05 августа 2010

используйте api-адреса графов Facebook, которые они предоставляют

Python-код с использованием парсера simplejson

keyword="old spice"
searchurl='http://graph.facebook.com/search?q='+keyword
resp=urllib2.urlopen(searchurl)
pageData=resp.read()
json = simplejson.loads(pageData)
posts=json['data']
for p in posts:
    postid=p['id']
    username=p['from']['name']
    posterimg=p['icon']
    comment=p['message']
0 голосов
/ 05 августа 2010

Насколько я могу судить, вы говорите о Web Scraping. Что вам нужно сделать, это получить URL группы, использовать команду file_get_contents ($ url) в PHP, чтобы получить файл, а затем проанализировать его в PHP.

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

Я бы опубликовал пример кода, но он находится на другом компьютере, далеко-далеко. Тем не менее, должно быть хорошее начало.

Редактировать: добавление в некоторых примерах кода:

 $URL = "http://facebook.com/group=5343242" (or whatever the URL structure is for the facebook group)
$groupPage = file_get_contents($URL)

Вот ссылка на страницы PHP по регулярным выражениям:

http://www.php.net/manual/en/book.pcre.php

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