2

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

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源]

4

2 回答 2

0

使用 Facebook 图形 API:

对于专辑,其记录在此:

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

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

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

编辑

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

于 2012-12-18T11:30:13.037 回答
0

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

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

您可以查看这个JavaScript 项目以供参考。

于 2015-08-21T03:04:05.387 回答