Python Tweepy - 在列表中搜索字符串 - 可能的编码问题
问题描述:
我试图过滤掉从结果列表返回的重复(转推)的推文。我想我可以简单地创建一个列表,并检查推文的文本是否已经在列表中,如果没有,我将它添加到列表中。在那里我试图这样的代码段如下 -Python Tweepy - 在列表中搜索字符串 - 可能的编码问题
searched_tweets = tweepy.Cursor(api.search, q=search, since=since_time, include_entities=True).items(max_tweets)
filtered_tweets =[]
for filtered in searched_tweets:
if str(filtered_tweets).find(str(filtered.text.encode('ascii', 'ignore')))== -1:
filtered_tweets.append(filtered)
这不工作,因为它本质上总是返回true即使在帖子已经存在。我怀疑这是由于文本编码?由于我正在搜索的内码字符串基本上已经删除了部分内容?任何关于如何解决这个问题的建议都会受到欢迎。
答
更简单的方法来过滤掉锐推将是:
for tweet in searched_tweets:
if hasattr(tweet,"retweeted_status"):
continue
#if you have reached this line, your tweet is not a retweet
#do stuff with your tweet
耶或许编码的问题。为什么不首先在'unicode'中(在'find'之前)编码引用和子字符串? – ahmad
谢谢ahmad,我不确定我能否(或知道如何),因为我不能编码列表,你的意思是每次循环访问列表并将项目编码为ascii? –
把这三行放在进口附近的第一行,把编码全局改为UTF-8:1)'import sys',2)'reload(sys)',3)'sys.setdefaultencoding('utf8' )'。 – ahmad