如何使用Instagram API提取某个位置的所有图像?

时间:2016-01-09 10:07:43

标签: python api instagram instagram-api

我想从Instagram API获取位置内的所有图片。

以下是python中的代码:

from instagram.client import InstagramAPI

client_id = ********
client_secret = ******* 
access_token = *******
client_ip = *******

q = None
count = 100
lat = 51.51608899635712
lng = 0.09891956707558282
min_timestamp, max_timestamp = None, None
distance = 1000

api = InstagramAPI(client_id=client_id, client_secret=client_secret, client_ips=client_ip, access_token=access_token)

media_all_ids = []
media_ids, next = api.media_search(q, count, lat, lng, min_timestamp, max_timestamp, distance)

for media_id in media_ids:
    media_all_ids.append(media_id.id)

主要问题是它给了我这个错误:

media_ids,next = api.media_search(q, count, lat, lng, min_timestamp, max_timestamp, distance)
ValueError: too many values to unpack

我想在他们的图像链接和拍摄照片的时间之外打印出他们的ID 我想知道是否有人知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

正确使用media_search方法是:

media_list = api.media_search(q, count, lat, lng, min_timestamp, max_timestamp, distance)

该方法返回Media个对象的列表 它不会返回媒体对象ID列表,您可能会感到困惑,因为打印Media对象只会打印其ID,请参阅代码here

有关如何使用此客户端的更多示例,请查看Sample App

答案 1 :(得分:0)

https://www.instagram.com/explore/locations/US/united-states/?__a=1&page=1

本页返回第一页instagram中的所有位置,循环1到12得到所有美国城市(这是不使用API​​)