我有一个django应用程序,使用tweepy来获取特定人物的最后一条推文,给出他/她的screen_name。但是,由于screen_name字段对于我的应用程序来说是可选的,因此有时候我的screen_names可能是空的或者根本不存在。
但是,如果发生这种情况(例如,如果我使用user_lookup),Tweepy会启动TweepyError
异常,然后我的应用程序停止。有办法处理这个吗?我只想验证Twitter的screen_name的存在并返回True
或False
语句,而不停止我的应用程序。
答案 0 :(得分:1)
这会帮助你。这将帮助您获得用户数组中存在的每个Twitter句柄的有效性/存在状态。
import tweepy
from tweepy import OAuthHandler
consumer_key = ""
consumer_secret = ""
access_key = ""
access_secret = ""
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
users=["twitterhandle1","twitterhandle2"]
for x in users:
try:
u=api.get_user(x)
print (u.id_str)
print (u.screen_name)
except Exception:
pass
答案 1 :(得分:0)
如果您的目的是阻止您的应用程序在Tweepy引发TweepyError
例外时停止,则这是使用python
的{{1}}语句的典型案例。
try...except
但是......你提到你的应用程序的twitter名称是可选的,这导致了问题。我不明白为什么你不能对此进行简单的检查。假设您的字段名称为try:
# do whatever with tweepy here
except TweepyError:
# do what you want to when the lookup fails
pass
,twitter_name
是其所属模型的实例:
model_instance