【问题标题】:Python: How to get URLs of tag filtered Instagram imagesPython:如何获取标签过滤的 Instagram 图像的 URL
【发布时间】:2013-12-14 20:40:28
【问题描述】:

我想按标签搜索 Instagram 照片,并返回它们的 URL。我将如何从“filtered_media”中的每个项目获取 URL?

filtered_media = api.tag_recent_media(1,1,'fox')

【问题讨论】:

  • 如何获取数据?这个 api 对象是什么,它是如何创建的?
  • INSTAGRAM_CLIENT_ID = 'API KEY' INSTAGRAM_CLIENT_SECRET = 'SECRET KEY api = InstagramAPI(client_id=INSTAGRAM_CLIENT_ID, client_secret=INSTAGRAM_CLIENT_SECRET)

标签: python api instagram


【解决方案1】:

不知道你到底在问什么。我猜你正在使用python-instagram lib(我也只是从你在评论中提到的语法猜测,你应该在问题中写这种东西)。如果是这样,您将获得一个列表,您可以像 lib 中的示例一样迭代:

for media in recent_media:
   print media.caption.text

对于您关于图像 url 的具体问题,我咨询了 api(感谢链接 @r2mus)每个列表项都是一个 python 字典。你可以这样称呼它:

for media in filtered_media:
   if media.type == 'image': # could also be a video or something else perhaps
      for img in media.images: # a sub list containing the different images in different resolutions
         print img.url

或者,如果您追求特定的解决方案(例如标准解决方案),您可以直接:

for media in filtered_media:
   if media.type == 'image':
       print media.images.standard_resolution.url

【讨论】:

  • 抱歉描述模糊。你是对的,我正在使用那个库。尝试该代码时,出现错误: if media.type == 'image': AttributeError: 'list' object has no attribute 'type'
  • 我的代码(不包括我的访问令牌/密钥的声明:'#启动 API api = InstagramAPI(client_id=INSTAGRAM_CLIENT_ID,client_secret=INSTAGRAM_CLIENT_SECRET) filtered_media = api.tag_recent_media(1,1,' fox') 用于过滤媒体中的媒体:如果 media.type == 'image':对于 media.images 中的 img:打印 img.url'
  • 所以媒体也是一个数组,你可以用同样的方式迭代它,只需打印(媒体)并发布你得到的东西
【解决方案2】:

您应该像这样构建您的查询:

filtered_media = api.tag_recent_media(1,1,tag_name='fox')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多