如果实体存在于基于推文 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 (将#修改为@)