从Java阅读Twitter页面

时间:2014-07-28 14:43:15

标签: java url twitter urlconnection

我想通过使用该推文的公共链接来阅读来自Java的推文的内容,例如:

http://twitter.com/FoodRhythms/status/461201880354271232/photo/1

我使用与从其他类型的页面阅读内容相同的程序:

String XMLstring = "";
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));

String inputLine;

while ((inputLine = in.readLine()) != null)
    XMLstring += inputLine;
in.close();

然而,当其他页面有效时,当从Twitter链接读取时,返回的内容为空(BufferedReader对象不包含任何行)。

对此有任何提示吗?

3 个答案:

答案 0 :(得分:2)

您正在以不必要的复杂方式解决问题。您可以使用HTML解析器库(例如Jsoup)来解析其内容的URL。

一个例子如下:

String url = "https://twitter.com/FoodRhythms/status/461201880354271232/photo/1";
Document doc = Jsoup.connect(url).get();
Element tweetText = doc.select("p.js-tweet-text.tweet-text").first();
System.out.println(tweetText.text());

将输出

Miso-Glazed Japanese Eggplant 

以类似的方式,您可以选择您想要的任何元素!

答案 1 :(得分:0)

从twitter阅读需要oAuth身份验证,您需要遵守twitter for java库以获取所需的数据。

希望这会有所帮助..!

http://www.javacodegeeks.com/2012/03/twitter-api-on-your-java-application.html

答案 2 :(得分:0)

您的代码现在的问题是您尝试通过http访问twitter,其中隐式重定向到https正在发生。使用您的确切代码,将网址修改为https,一切正常。