2016-09-20 191 views
0

我正在使用Tweepy光标来查找一些推文。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