从facebook专辑中获取相同数量的数量

时间:2012-12-18 07:41:56

标签: python facebook

我正在尝试为我的朋友开发一个python脚本,它将获取一张公共相册的链接,并使用“requests”模块对每张照片的数字进行计数和评论。这是我的脚本代码

import re
import requests

def get_page(url):
    r = requests.get(url)
    content = r.text.encode('utf-8', 'ignore')
    return content


if __name__ == "__main__":
    url = 'https://www.facebook.com/media/set/?set=a.460132914032627.102894.316378325074754&type=1'
    content = get_page(url)
    content = content.replace("\n", '')

    chehara = "(\d+) likes and (\d+) comments"
    cpattern = re.compile(chehara)
    result = re.findall(cpattern, content)
    for jinish in result:
        print "likes "+ jinish[0] + " comments " + jinish [1]

但问题是,它只解析前28张照片的喜欢和评论,而不是更多,问题是什么?有人可以帮忙吗?

[编辑:模块“请求”只加载网页,也就是说,变量内容包含链接相册的facebook网页的完整html源代码]

2 个答案:

答案 0 :(得分:0)

使用facebook图表api:

对于相册,请在此处记录:

https://developers.facebook.com/docs/reference/api/album/

使用limit属性进行测试,因为它很慢:

http://graph.facebook.com/460132914032627/photos/?limit=10

编辑

我刚刚意识到like_count不是json的一部分,你可能必须使用fql

答案 1 :(得分:0)

如果您想查看下一页,则需要将after属性添加到您的请求中,如下所示:

https://graph.facebook.com/albumID/photos?fields=likes.summary(true),comments.summary(true)&after=XXXXXX&access_token=XXXXXX

您可以查看此JavaScript project以供参考。