2016-02-12 76 views
1

如果我在推文中看到類似這樣的鏈接:https://t.co/xxxxxxxxxxx, 而且我知道該鏈接包含圖片和圖片。如何從該帖子中提取該圖片,以便我可以在另一個頁面上使用它?我正在使用twitter4j。如何從tweet中包含的't.co'URL中提取圖片?

在此先感謝

編輯:

我想它的工作通過執行以下操作:

public String getImageUrlFromPost(String url) throws TwitterException { 

     Query query = new Query(url); 
     QueryResult result = this.getTwitter().search(query); 
     System.out.println("The tweets found: " + result.getTweets() +" with query " + url); 
     for (Status status : result.getTweets()) { 
      for (MediaEntity mediaEntity : status.getMediaEntities()) { 
       return mediaEntity.getMediaURLHttps(); 
      } 
     } 
     return null; 
    } 

不幸的是result.getTweets()是空的,當我把我的t.co鏈接:(

+0

這裏可能提供了一個有效的答案:http://stackoverflow.com/a/17295122/2849346 - 這個問題本質上是與該答案有關的問題的重複。 – MWiesner

+0

但是查詢,僅在hashtags afaik上查詢。我也可以查詢網址? – Bosiwow

+0

好吧,好像我可以查詢網址。太好了,thnx! – Bosiwow

回答

3

恐怕,但您將無法以這種方式通過Twitter4J API以編程方式查詢或檢索t.co -URL後面的圖像。

基本上,至少有兩種類型的URL格式的參考資源在Twitter上:

  1. 爲具有格式http://t.co/randomstringhere重定向鏈接到另一個資源在網絡(最有可能的每個網址:一個網頁),並且每個參考頁面的實際網頁可能會完全不同。因此,沒有通用的方式來推斷被引用頁面的結構,因此也沒有正確的方法來檢索您要查找的內容。

  2. 相比之下,Twitter使用URL格式http://pbs.twimg.com/media/anotherandomstring.png(或.jpg或其它格式)來引用圖像已在鳴叫附帶的媒體文件共享(這裏:圖像)。只有在這種情況下,您纔可以使用status.getMediaEntities()mediaEntity.getMediaURLHttps()來檢索URL的實際圖像的二進制內容。

結論:通過Twitter4J在微博中引用

可悲的是,至少在2016年,有檢索資源(媒體文件)的後面http://t.co/沒有通用的方法...網址。

相關問題