我一直在使用Tweepy开发Python的小项目。 代码的目的是对推文进行排序。如果推文包含我的列表中的单词,则会将其保存在肯定文件中,否则保存在否定文件中。
此外,我对回复或转发不感兴趣。
我尝试了两种不同的方法,最新的方法是.find()。我不明白。当我把一条推文作为一个字符串抓取并从中获取一个字作为一个字符串并使用它完成这项工作的功能。
但是在我的脚本中它总是返回-1。欢迎任何提示和想法。顺便说一下,我是蟒蛇的菜鸟。
class SortedTweet(object):
tweet_text = ""
is_positive = False
is_retweeted = False
is_reply = False
created_at = None
id = ""
def __init__(self, tweet, is_positive):
self.tweet_text = tweet.full_text
self.created_at = tweet.created_at
self.is_retweeted = hasattr(tweet, 'retweeted_status') is True
self.is_reply = tweet.in_reply_to_status_id is not None
self.is_positive = is_positive
self.id = tweet.id_str
def sort_tweets(currentTweetList):
with open('list.txt','r') as keyword_file:
for keyword in keyword_file:
for tweet in currentTweetList:
s = tweet.tweet_text.lower()
if ((s.find(keyword) != -1) & (tweet.is_reply == False) & (tweet.is_retweeted == False)):
tweet.is_positive = True
return currentTweetList
答案 0 :(得分:0)
我需要添加命令.strip(),因为每次读取一行时它都包含“enter”。难怪没有比赛。