是否可以直接從 twitter.com/search使搜索?
從技術上說是的,但如果可能的話應該避免。你將不得不解析HTML,這是一個既緩慢又容易出錯的過程。
我應該遵循哪些庫/方法/方法?
你應該堅持使用官方API。我意識到這個速率限制是有點類似的,但我相信你可以通過減少對API調用的總體數量和更有效地使用每個調用來緩解這個問題。你必須記住,這是官方的Twitter API。 Twitter當然希望Twitter應用程序既好又棒,而每小時100個電話的速率限制似乎相當低,通常應該足夠了。無論如何,如果達到速率限制,您只需要一些適當的錯誤處理。我知道一個事實,即大多數第三方Twitter應用只是在達到費率限制時凍結其內容。顯示錯誤通知用戶他不能再更新一個小時,但他仍然可以像以前一樣繼續使用以前調用的所有緩存數據。
既然你還沒有發佈任何代碼,我不確定還有什麼可以告訴你只是試圖對每個電話都很聰明。儘可能使用緩存數據,並且只在絕對必要時執行API調用。
編輯:我覺得從https://mobile.twitter.com/search解析數據將是你最好的情況。只需尋找類timeline
的div。此div中的每個<table />
都包含一條推文。解析應該不是那麼難。
我測試用HtmlCleaner:
HtmlCleaner cleaner = new HtmlCleaner();
TagNode root = cleaner.clean("https://mobile.twitter.com/search?q=asdf");
... // Filter out div with class "timeline"
List<? extends TagNode> tweets = timeLineDiv.getElementListByAttValue("class", "tweet", false, true);
你好我的朋友。我意識到Twitter需要使用它的API。我已經和我的公司反覆討論過這個問題。作爲這個項目的一部分,我已經添加了一個搜索按鈕,使用戶能夠獲取關鍵字的最佳推文。這意味着我必須得到所有推文,對它們進行排序......而且這個過程的確有點慢。並且使用緩存數據的機會不會太多,因爲它只能搜索。那麼,對於我來說,瀏覽以前調用中使用的活動是有意義的。但恐怕對所有用戶來說都不是這樣。相反,我認爲... ...直接從twitter網頁搜索... – user3764893
...。從'mobile.twitter.com'更準確,這是因爲它會佔用更少的內存,並且會更快。至於速度的微博已經有頂級的鳴叫,這意味着我不需要他們了排序 - 只是解析。而且它也有我不會在'Rate Limit'錯誤中運行的好處。用幾句話來說,它最符合我的要求。對於解析我已經考慮過[jsoup](http://jsoup.org)。 – user3764893
很好,解析HTML時要小心。我也可以推薦[** HtmlCleaner **](http://htmlcleaner.sourceforge.net/)。我現在用它來解析HTML。 –