如何用Python从instagrapi的medias中打印所有thumbnail_url
解决instagrapi打印所有thumbnail_url的问题
你当前代码只输出了一个thumbnail_url,是因为Instagram的帖子分两种类型:单图/视频(media_type=1)的缩略图直接存在media对象的thumbnail_url字段中;而多图轮播帖(media_type=8)的缩略图并不在media的thumbnail_url里(该字段为None),而是存储在resources列表的每个Resource对象中,原代码没处理这种情况。
修改后的代码如下:
from instagrapi import Client cl = Client() user_id = cl.user_id_from_username("taylorswift") medias = cl.user_medias(user_id, 2) for media in medias: # 处理单图/视频帖子的缩略图 if media.thumbnail_url: print(media.thumbnail_url) # 处理多图轮播帖的每个资源缩略图 if media.resources: for resource in media.resources: if resource.thumbnail_url: print(resource.thumbnail_url)
代码逻辑说明
- 遍历每条媒体内容
- 先检查当前媒体自身的
thumbnail_url是否有效,有效则打印(对应单图/视频帖子) - 再检查媒体的
resources列表是否有内容,若有则遍历每个资源对象,打印其thumbnail_url(对应多图轮播帖)
这样就能输出你示例数据里的全部3个缩略图链接:第一个单图帖的1个,第二个轮播帖的2个。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

