我正在尝试为我的朋友开发一个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源代码]
答案 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以供参考。