使用twitter api搜索推文的奇怪问题

时间:2014-02-26 13:20:10

标签: python twitter

我在python中设置了一个代码,仅使用oauth2和urllib2库来搜索推文。 (我没有使用任何特定的推特库)

我可以根据关键字搜索推文。但是,当我搜索这个特定的关键词时,我的推文数量为零 - “Jurgen%20Mayer-Hermann”。 (这是挑战,因为我的最终目标是仅搜索此关键字。

另一方面,当我在网上搜索同样的东西时(推特界面,我收到足够的推文)。 - https://twitter.com/search?q=Jurgen%20Mayer-Hermann&src=typd

有人可以看看我们是否能确定问题吗?

代码如下:

def getfeed(mystr, tweetcount):
    url = "https://api.twitter.com/1.1/search/tweets.json?q=" + mystr + "&count=" + tweetcount
    parameters = []
    response = twitterreq(url, "GET", parameters)
    res = json.load(response)
    return res

search_str = "Jurgen Mayer-Hermann"
search_str = '%22'+search_str+'%22'
search = search_str.replace(" ","%20")
search = search.replace("#","%23")
tweetcount = str(50)
res = getfeed(search, tweetcount)

当我打印构建的URL时,我得到了

https://api.twitter.com/1.1/search/tweets.json?q=%22Jurgen%20Mayer-Hermann%22&count=50

2 个答案:

答案 0 :(得分:0)

我实际上从未使用Twitter API,但看起来count参数仅适用于searches on timelines,以限制每页结果的推文数量。换句话说,您将其与GET statuses/home_timelineGET statuses/mentionsGET statuses/user_timeline端点一起使用。

在没有count的情况下尝试,看看会发生什么。

答案 1 :(得分:0)

请使用urllib.urlencode对查询参数进行编码,如下所示:

import urllib
query = urllib.urlencode({'q': '"Jurgen Mayer-Hermann"', count: 50})

这会产生'q=%22Jurgen+Mayer-Hermann%22&count=50'。这可能会带给你更多的运气......