gpt4 book ai didi

python - 当推文不包含图像时,T​​weepy python 代码在 'media' 实体上返回 KeyError

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:49 24 4
gpt4 key购买 nike

大家好 StackOverflow

我对 Tweepy/Twitter API 比较陌生,在让它返回图像 URL 时遇到了一些问题。

基本上,我编写了一段代码来搜索针对特定主题标签的推文,然后返回推文中存在的图像 URL 实体。但是,当返回一条没有任何媒体的推文时,我遇到了一个问题。错误如下所示:

Traceback (most recent call last):
File "./tweepyTest.py", line 18, in <module>
for image in tweet.entities['media']:
KeyError: 'media'

下面是我的代码:

for tweet in tweepy.Cursor(api.search,q="#hashtag",count=5,include_entities=True).items(5):
#print tweet.text
for image in tweet.entities['media']:
print image['media_url']

我猜我需要将 for 循环包含在某种 if 语句中,但是我正在努力思考如何做。

如有任何帮助,我们将不胜感激。

编辑:我想我可能找到了解决方案,但我不确定它是否特别优雅......使用 try/except。

for tweet in tweepy.Cursor(api.search,q="#hashtag",count=5,include_entities=True).items(5):
#print tweet.text
try:
for image in tweet.entities['media']:
print image['media_url']
except KeyError:
pass

最佳答案

您可以检查 key 是否存在:

for tweet in tweepy.Cursor(api.search,q="#hashtag",count=5,include_entities=True).items(5):
#print tweet.text
if 'media' in tweet.entities:
for image in tweet.entities['media']:
print image['media_url']

如果没有这样的键,则得到一个空列表:

for tweet in tweepy.Cursor(api.search,q="#hashtag",count=5,include_entities=True).items(5):
#print tweet.text
for image in tweet.entities.get('media', []):
print image['media_url']

关于python - 当推文不包含图像时,T​​weepy python 代码在 'media' 实体上返回 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18729591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com