2013-04-08 20 views
1

我試圖做一個簡單的Twitter博特說轉推用戶推文的正確數量,如果他們的鳴叫含有一定包括hashtag無法取得使用Python和Twitter的API

所以我的搜索URL,我有如下: http://search.twitter.com/search.json?q=address&count=1

但是,每當我運行我的程序,我只收到1條推文及其信息。我很困惑,爲什麼我只收到1條推文,而不是10條。即使我改變了「count」參數的值,我也會收到1條推文。

如果我改變搜索URL以「Q」來代替「井號標籤」,我收到了一堆錯誤: http://search.twitter.com/search.json?hashtags=151milford&count=10

上面那行給了我下面的錯誤

File "C:\Users\Documents\pythonbot.py", line 16, in <module> 
    o = urllib2.urlopen(url) #open the url 
    File "C:\PYTHON27\LIB\urllib2.py", line 126, in urlopen 
    return _opener.open(url, data, timeout) 
    File "C:\PYTHON27\LIB\urllib2.py", line 406, in open 
    response = meth(req, response) 
    File "C:\PYTHON27\LIB\urllib2.py", line 519, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "C:\PYTHON27\LIB\urllib2.py", line 444, in error 
    return self._call_chain(*args) 
    File "C:\PYTHON27\LIB\urllib2.py", line 378, in _call_chain 
    result = func(*args) 
    File "C:\PYTHON27\LIB\urllib2.py", line 527, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
HTTPError: HTTP Error 403: Forbidden 

我仍然試圖學習我的方式圍繞API,所以任何提示將是真棒

回答

0

你確定有更多的推文與該查詢?

使用該網址在瀏覽器中,如果使用例如:

http://search.twitter.com/search.json?q=trending&count=10 

你會得到10個結果。

該API for twitter只會讓你獲得最近的推文,所以如果沒有最近的推文匹配你的查詢,你什麼也得不到。

看看這裏https://dev.twitter.com/docs/api/1.1查看支持哪些參數。

你得到的錯誤是由於沒有「hashtags」參數。

+0

在原有基礎上/第一個查詢,我覺得我沒有得到10個結果,因爲老的是私有的。但是,如果我通過twitter.com搜索,那麼我可以看到一串老式的推文,所以它仍然讓我感到困惑。是的,我混合了其他標籤的hashtags參數。 – simplycoding 2013-04-08 19:11:20

0

您正在使用不正確的參數進行計數。檢查documentation again

看看這個URL返回5個項目:

https://search.twitter.com/search.json?q=stackoverflow&rpp=5 

你可以使用參數rpp控制結果數量每頁,並且參數page控制頁面偏移

也請轉到較新的v1.1 API。你會在@pcalcao文章中找到鏈接。

+0

您正在鏈接到API的棄用版本。應該是版本1.1 – pcalcao 2013-04-08 16:35:01

+0

是的,我正在編輯我的帖子以包含該內容。 – SuperSaiyan 2013-04-08 16:35:37

+0

我正在使用較新的v1.1 API。顯然它應該是'count'而不是'rpp'。我認爲這些推文不再公開或刪除。 – simplycoding 2013-04-08 19:06:45