使用Graph Api 2.2的facebook页面信息

时间:2015-03-28 13:37:43

标签: python facebook-graph-api python-3.x facebook-graph-api-v2.2 graph-api-explorer

我在google电子表格中有1000个facebook页面的唯一ID。我想抓取所有页面以获取他们的信息(喜欢,电子邮件等)我该怎么办?此外,我无法在浏览器中运行搜索查询以及在何处运行脚本。 Plz尽可能详细。谢谢你:)

我尝试为此创建一个python脚本,但它仅适用于第一个条目。

import urllib as url2
import json


f=open('ids.txt')
for i in f:
        url="http://graph.facebook.com/"+str(int(i))+"?fields=likes"
        data = url2.urlopen(url).read()
        print data
        data2=json.loads(data)
        print "number of likes on page with id "+str(data2["id"])+" has "+str(data2["likes"])+" likes !"

f.close()

ids.txt文件包含facebook页面的ID。

1 493343230696447
2 1767379894975
3 122116091270024
4 545044065615713

1 个答案:

答案 0 :(得分:0)

文件对象是行迭代器,而不是单词迭代器。所以你需要改变:

for i in f:
    url="http://graph.facebook.com/"+str(int(i))+"?fields=likes"

要:

for i in f:
    # i holds the line, not the index
    index, page_id = i.strip().split()[:2]
    url="http://graph.facebook.com/"+page_id+"?fields=likes"
    # ...

这样,您可以在删除换行符('\n')之后将行拆分为indexpage_id

无需将page_id字符串转换为整数并返回字符串。