我们正在尝试检索去年发给我们组的所有帖子,以及相关的评论和图像。我尝试使用 GraphAPI 来执行此操作,但分页意味着我必须获取数据,然后复制“下一个”链接,然后再次运行。不幸的是,这意味着大量的工作,因为该组有超过 200 万个帖子。
有没有人知道不用花几天点击时间就能做到这一点的方法?还要考虑到该组有 4000 多名成员,并且每天都在增长,目前平均每天有 1000 个帖子。
对于好奇的人,计划是淘汰牛群......我在编程方面没有希望,最近开始学习 Python......
我们正在尝试检索去年发给我们组的所有帖子,以及相关的评论和图像。我尝试使用 GraphAPI 来执行此操作,但分页意味着我必须获取数据,然后复制“下一个”链接,然后再次运行。不幸的是,这意味着大量的工作,因为该组有超过 200 万个帖子。
有没有人知道不用花几天点击时间就能做到这一点的方法?还要考虑到该组有 4000 多名成员,并且每天都在增长,目前平均每天有 1000 个帖子。
对于好奇的人,计划是淘汰牛群......我在编程方面没有希望,最近开始学习 Python......
我是这样做的,您可能必须遍历所有帖子,直到data
为空。请注意,这是 Python 2.x 版本。
from facepy import GraphAPI
import json
group_id = "YOUR_GROUP_ID"
access_token = "YOUR_ACCESS_TOKEN"
graph = GraphAPI(access_token)
# https://facepy.readthedocs.org/en/latest/usage/graph-api.html
data = graph.get(group_id + "/feed", page=False, retry=3, limit=800)
with open('content.json', 'w') as outfile:
json.dump(data, outfile, indent = 4)
我刚刚找到并使用了@dfdfdf 的解决方案,这很棒!您可以将其概括为从提要的多个页面下载,而不仅仅是第一个页面,如下所示:
from facepy import GraphAPI
import json
group_id = "\YOUR_GROUP_ID"
access_token = "YOUR_ACCESS_TOKEN"
graph = GraphAPI(access_token)
pages = graph.get(group_id + "/feed", page=True, retry=3, limit=1000)
i = 0
for p in pages:
print 'Downloading page', i
with open('content%i.json' % i, 'w') as outfile:
json.dump(p, outfile, indent = 4)
i += 1