微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果实体存在于基于推文 ID 的 Tweepy 请求中,我该如何包含实体?

如何解决如果实体存在于基于推文 ID 的 Tweepy 请求中,我该如何包含实体?

我已经改编了 here 中的代码,以生成包含来自基于推文 ID 的推文信息的 CSV。当我只包含 status.user.xxxxx 或 status.xxxxxx(例如,reply_count)请求时它有效,因为它们包含在每条推文中,但是当我尝试请求诸如 status.entities['urls'][0] 之类的实体时['expanded_url'],它会导致错误(我认为是因为并非每条推文都在文本、gif、图像等中包含 URL)。

我的问题是如何在此代码中构建某种 if/else 或其他逻辑以包含实体(如果它们存在),但如果它们不存在则不会导致错误

def fetch_tw(ids):
list_of_tw_status = api.statuses_lookup(ids,tweet_mode= "extended")
empty_data = pd.DataFrame()
for status in list_of_tw_status:
        tweet_elem = {"tweet_id": status.id,"screen_name": status.user.screen_name,"bio": status.user.description,"location":status.user.location,"followers":status.user.followers_count,"following":status.user.friends_count,"lists":status.user.listed_count,"favorites":status.user.favourites_count,"total_tweets":status.user.statuses_count,"date_created":status.user.created_at,"tweet":status.full_text,"date":status.created_at,"url":status.entities['urls'][0]['expanded_url'],"media":status.entities['media_url'][0]['media_url'],"mentions":status.entities['user_mentions'][0]['screen_name'],"polls":status.entities['polls'],"likes":status.favorite_count,"retweets":status.retweet_count,"quotes":status.quote_count,"replies":status.reply_count,"electronic":status.source,"date":status.created_at}
        empty_data = empty_data.append(tweet_elem,ignore_index = True)
empty_data.to_csv("otilt_tweets.csv",mode="a")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。