2014-10-20 67 views
2

我已經把一個小的推特工具放在一起,以拉取相關推文,以便在潛在語義分析中進行後續分析。具有諷刺意味的是,這一點(更復雜的一點)工作正常 - 它拉扯推文是這個問題。我正在使用下面的代碼來設置它。我認爲每個請求會推送200條推文,但它被阻止成15個推文塊(因此200個商品「支付」我13個請求) - 這個技術上有效,但沒有如預期的那樣 - .items(200)我知道這是原始/默認的RPP變量(現在在Twitter文檔中是'count'),但我已經在Cursor設置中嘗試過了(rpp = 100,這是twitter文檔中的最大值),並且它使沒有不同。Tweepy限額/分頁問題。

Tweepy/Cursor docs
The other nearest similar question isn't quite the same issue

感謝有任何的想法!我相信這是對設置的微調,但我已經嘗試了頁面和rpp上的各種設置,但無濟於事。

auth = tweepy.OAuthHandler(apikey, apisecret) 
auth.set_access_token(access_token, access_token_secret_var) 
from tools import read_user, read_tweet 
from auth import basic 
api = tweepy.API(auth) 
current_results = [] 
from tweepy import Cursor 
for tweet in Cursor(api.search, 
         q=search_string, 
         result_type="recent", 
         include_entities=True, 
         lang="en").items(200): 
    current_user, created = read_user(tweet.author) 
    current_tweet, created = read_tweet(tweet, current_user) 
    current_results.append(tweet) 
print current_results 
+0

關於如何在某個瞬間獲得特定hashtag的推文計數的任何想法?我正在使用'trends_place'來獲取特定於某個國家的趨勢。我需要更多的信息,其中包括特定hashtag的推文數量。 – 2015-04-21 05:02:56

回答

4

我最終完成了這項工作,得到了同事的一點幫助。 Afaict,在實際的API調用之後,rpp和items()調用即將到來。 Twitter documentation中的'count'選項是前面提到的RPP,在Tweepy 2.3.0中仍然被稱爲rpp,這似乎成了問題。

我最終做的是修改Tweepy代碼 - 在api.py中,我將'count'添加到搜索綁定部分(在我安裝的L643中,ymmv)。

""" search """ 
search = bind_api(
    path = '/search/tweets.json', 
    payload_type = 'search_results', 
    allowed_param = ['q', 'count', 'lang', 'locale', 'since_id', 'geocode', 'max_id', 'since', 'until', 'result_type', **'count**', 'include_entities', 'from', 'to', 'source'] 
) 

這讓我調整上面的代碼:

for tweet in Cursor(api.search, 
         q=search_string, 
         count=100, 
         result_type="recent", 
         include_entities=True, 
         lang="en").items(200): 

導致兩個電話,而不是15;我已經在每次調用之後再次對此進行了檢查

print api.rate_limit_status()["resources"] 

並且每次只將我的剩餘搜索棄用爲2。

+0

你應該接受這個答案。 – Luigi 2014-10-21 18:29:10

+0

是的,我必須再等12小時才能做到。 :) – Withnail 2014-10-22 07:19:07