2017-10-31 8 views
1

뉴스 사이트의 댓글 플러그인에서 Facebook 댓글을 얻으려고합니다. 이것은 내가 지금 가지고있는 코드 :Python으로 Facebook 댓글 플러그인에서 텍스트를 가져 오는 방법은 무엇입니까?

import facebook 
token = #valid token 
graph = facebook.GraphAPI(access_token=token, version='2.10') 
url = "http://www.jutarnji.hr/6703059" 
url_id = graph.get_object(url)['og_object']['id'] 
comments = graph.get_connections(url_id, 'comments') 

그리고 이것은 (원치 않는) 출력 :

{'data': []}

+0

을 시도 할 수 있습니다 'og_object'의'comments' 서브 필드를 통해, https://developers.facebook.com/docs/plugins/faqs#faq_1603507626630008,하지만 https://developers.facebook.com/docs/graph-api/reference/ v2.10/url은 (는) 티를 언급하지 않습니다. 더 이상. 그들이 이것을 제거했는지 확실하지 않습니다. – CBroe

답변

1

당신이 작동하는 데 사용이 코드

import facebook #sudo pip install facebook-sdk 
import itertools 
import json 
import re 
import requests 

access_token = "XXX" 
user = 'leehsienloong' 

graph = facebook.GraphAPI(access_token) 
profile = graph.get_object(user) 
posts = graph.get_connections(profile['id'], 'posts') 

Jstr = json.dumps(posts) 
JDict = json.loads(Jstr) 

count = 0 
for i in JDict['data']: 
    allID = i['id'] 
    try: 
     allComments = i['comments'] 

     for a in allComments['data']: 
      count += 1 
      print a['message'] 


    except (UnicodeEncodeError): 
     pass 


print count 
+0

고맙습니다.하지만 코드는 KeyError : 'comments'를 생성하며 특정 외부 URL에이를 적용하는 방법을 명확하게 볼 수 없습니다. –