2016-04-25 10 views
1

結果のリストから返された重複した(retweeted)つぶやきを除外しようとしています。単純にリストを作成して、ツイートのテキストが既にリストに入っているかどうかを確認することができたと思います。そうでなければ、リストに追加します。私はこれをしようとしていたコードのセクションでは、基本的に常にポストが既に存在する場合でもtrueを返すようfollows-が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) 

これは動作しませんようです。私はこれがテキストエンコーディングのためだと思う?私が探しているコード化された文字列は、基本的に部品が削除されていますか?これを克服する方法に関するアドバイスは大歓迎です。リツイートをフィルタリングする

+0

ええ、おそらくエンコードが問題です。最初に 'find'の前に' unicode'で参照と部分文字列の両方をエンコードしないのはなぜですか? – ahmad

+0

ありがとうございましたahmad、私はリストをエンコードすることができないので、私は(または、どのように)知ることができません、毎回リストをループし、項目をasciiとしてエンコードするつもりですか? –

+0

これらの3行をインポートの近くの最初の行に置き、エンコーディングをUTF-8にグローバルに変更します:1) 'import sys'、2)' reload(sys) '、3)' sys.setdefaultencoding( 'utf8' ) '。 – ahmad

答えて

0

簡単な方法は、次のようになります。

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 
関連する問題