2016-09-20 22 views
0

Tweepy Cursorを使用してつぶやきを検索しています。Twitterの検索APIのクエリ結果がキーワードと一致しません

for tweet in tweepy.Cursor(api.search, q='pg&e', count=100, lang='en', since=sinceDate, until=untilDate).items(): 
    print str(tweet.created_at) + '\t' + str(tweet.text) 

私はつぶやきの多くはtweet.textが映画のランキングのように、言及「PG」を返されたが、すべてで私のクエリ、「PG & e」を含んでいないことに気づきました。

これはなぜですか?完全一致を得る方法はありますか?また、tweepy.Cursorに検索するキーワードのリストを与える方法はありますか?

ありがとうございます!

答えて

2

q="\"pg&e\""あなたが望むものを提供します。私は&がAPIによってANDと解釈されるので、引用符を付けることで純粋なテキストを検索するように指定する必要があります。

キーワードをさらに検索する場合は、クエリでORを使用しても問題はありません。クエリが複雑すぎるために拒否されない場合は、 q="\"pg&e\" OR other_keyword OR \"exact expression to search\""のようなものは、そのトリックを行う必要があります。

+0

ありがとうございました! q = "\" pg&e \ ""で引用符とスラッシュで何が起こっているのかを説明してもらえますか? –

+0

まあ、単純に 'pg&e'ではなく' 'pg&e" '(引用符に注意してください)という正確な文字列を検索したいとします。文字列に引用符を入れたいので、それらをエスケープする必要があります。したがって、スラッシュを使用する必要があります。エスケープしないと、 'q =" "pg&e" "'は構文エラーを引き起こします。もう一つの解決策は、 'q =" \ "pg&e \" "'ではなく 'q = '" pg&e "''で引用符を変更することでしたが、結果はまったく同じです。 – Efferalgan

関連する問題