2010-08-05 32 views
15

Tôi muốn kết nối với trang hoặc nhóm công khai trên facebook và liệt kê tất cả các mục nhập từ tường trên trang web cá nhân. Tôi sẽ sử dụng PHP trên máy chủ của tôi để có thể là giải pháp tốt nhất cho tôi. Hoặc javascript.Nhận dữ liệu từ tường trang facebook hoặc tường nhóm để sử dụng trên trang web cá nhân

Có ai có thể giải thích hoặc có thể cung cấp mã làm việc về cách thực hiện việc này không? Hoặc chỉ là tất cả các bước nessesary để làm điều này?

Nếu có thể xử lý thông tin về người, ngày, mô tả ... cho mỗi bài đăng, điều đó thật tuyệt vời! Vì vậy, bố cục của tôi có thể được tùy chỉnh.

Cảm ơn vì đã giúp tôi ở đây!

Trả lời

0

Những gì bạn đang nói đến, theo như tôi có thể nói, là Web Scraping. Những gì bạn sẽ làm là lấy URL của nhóm, sử dụng lệnh file_get_contents ($ url) trong PHP để lấy tệp, và sau đó phân tích nó trong PHP.

Tôi khuyên bạn nên đánh thức các biểu thức chính quy của mình vì điều này sẽ rất quan trọng để xem lại HTML mà Facebook sử dụng cho bài đăng trên tường. Bạn sẽ có thể nhận được thông tin mà bạn đang tìm kiếm từ HTML.

Tôi sẽ đăng một số mã mẫu, nhưng đó là trên một máy tính khác, ở rất xa. Tuy nhiên, nên là một khởi đầu tốt.

Chỉnh sửa: Thêm vào một số mã ví dụ:

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

Dưới đây là các liên kết đến các trang PHP trên Regular Expressions:

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

+0

Thú vị. Rất thích xem ví dụ về loại giải pháp này và tôi sẽ kiểm tra liên kết bạn đã đăng. – user412264

+0

Tôi nghĩ rằng đặt cược tốt nhất của bạn là kiểm tra API như những người khác được đề xuất. Đề nghị của tôi có lẽ sẽ liên quan đến công việc nhiều hơn cho bạn hơn những người khác. – Althane

+0

Ok tnx. Vẫn còn một suy nghĩ inteserting bạn đã có :) – user412264

4

Bạn cần phải chạy FQL trên stream table và cung cấp id của một trang hoặc nhóm bạn quan tâm là source_id (tài liệu fb có một số giải thích và ví dụ). Khi bạn nhận được dữ liệu luồng, bạn có thể đào sâu hơn và đưa người dùng rời khỏi bài đăng này hoặc bất kỳ dữ liệu nào khác mà bạn cần lại thông qua FQL.

Có nhiều cách để chạy FQL - có thể thực hiện trong JS API, API PHP hoặc thông qua API REST cũ.

+0

Điều này nghe có vẻ như là giải pháp tốt nhất. Bạn có thời gian để cho tôi một ví dụ làm việc về cách kết nối với một trang hoặc nhóm và trả lại cấu trúc xml của tường không? Tôi sử dụng PHP. Bạn có cần bao gồm một số loại tệp facebook với phương pháp làm việc không? Cảm ơn sự giúp đỡ – user412264

+0

@ user412264 Nếu bạn chưa quen với facebook api, bạn chỉ cần đọc tài liệu trước. Tôi sẽ không thể giải thích tất cả cho bạn ở đây. Tôi khuyên bạn nên bắt đầu với api JavaScript (http://developers.facebook.com/docs/reference/javascript/) vì nó được viết thành tài liệu tốt hơn (và dễ dàng hơn). Một khi bạn đã thực hiện một số tiến bộ sau đó chuyển đổi mã api js của bạn thành api php nên được khá thẳng về phía trước. – serg

+0

Ok. Tôi sẽ cố gắng nhìn vào api js. Bạn có cần phải đăng ký một ứng dụng tại facebook để có thể thực hiện các loại tác vụ này không? – user412264

2

sử dụng các url facebook graph api mà họ cung cấp

mã python sử dụng simplejson phân tích cú pháp

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

dunno bao xa bạn nhận được với điều đó, nhưng 1 cho một giải pháp gọn gàng với những gì tôi đã nghĩ đến như là một vấn đề lớn hơn – Nicolas78

+0

mát mẻ! Cần phải xem xét kỹ hơn mã này vì tôi không quen với python. Tnx cho ví dụ! – user412264

+0

Nói yêu cầu 404 không hợp lệ –

2

Trong JavaScript (jQuery).

Bạn có thể sử dụng access_token rảnh rỗi để xem nhóm nào hoặc các trang;)

Để có được quyền truy cập của riêng bạn mã thông báo facebook graph explorer có thể tạo ra một cho bạn (cũng như truy vấn kiểm tra).

Trong Javascript, chúng tôi đưa ra yêu cầu đối với biểu đồ facebook, trả về đối tượng JSON. Câu trả lời trông giống như this.

Mã dưới đây lặp lại mỗi mục nhập và in ra thông báo, nếu bạn nhìn vào liên kết ở trên, nó cung cấp cho bạn quy ước đặt tên cho các trường dữ liệu khác.

ví dụ:

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

vv ..

Hy vọng rằng sẽ giúp!

<!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> 
Các vấn đề liên quan