搜索hashtag时Python和Instagram API出错

2024-09-30 20:18:49 发布

您现在位置:Python中文网/ 问答频道 /正文


我想找出十位Instagram用户,他们用特定的标签发布了大多数图片。


我使用的是python 2.7,我写了以下内容:
import urllib, json
from collections import Counter

def GetNumberPics():
    urlInstagram = "https://api.instagram.com/v1/tags/HASHTAG?access_token=ACCESSTOKEN"
    response = urllib.urlopen(urlInstagram)
    return json.loads(response.read())['data']['media_count']

def GetPics(url):
    urlInstagram = url
    response = urllib.urlopen(urlInstagram)
    pics = json.loads(response.read())
    return pics


在下一篇文章中,我会找出Instagram上有多少图片带有这个标签,然后我将其除以20。这是因为,据我所知,这是我在每次API调用时接收到的图片数据的数量。因此,通过这样做,我应该了解需要进行多少次API调用才能获得所有图片的数据。 ^{pr2}$


列出所有用户:
users = []
for i in range(20):
    users.append(pics['data'][i]['user']['username'])

获取第一个api调用中接收到的下一个url:

nextUrl = pics['pagination']['next_url']


对之前计算的次数进行api调用-我正在打印i,只是想看看我做了多少次api调用。
for i in range(times):
        print i
        pics = GetPics(nextUrl)
        for l in range(len(pics['data'])):
            users.append(pics['data'][l]['user']['username'])
        nextUrl = pics['pagination']['next_url']

统计用户并打印出使用该标签最多的十个用户:

counts = Counter(users)
print(counts).most_common(10)

当我到达第89个电话时,当我使用标签“inerasmus”时,我遇到了一个我无法理解的错误:

Traceback (most recent call last):
  File "C:\Users\Michele\Desktop\programming\EIE\tweetNumber.py", line 55, in <module>
    nextUrl = pics['pagination']['next_url']
KeyError: 'next_url'


我希望这对其他人也是一个有用的问题。非常感谢你!在


Tags: 用户inapijsonurldataresponse图片