如何解析特定文本?

时间:2011-09-18 01:54:29

标签: java android dom jsoup

我想用jsoup解析中间文字,告诉你标题。

http://www.upcominggames.com/2113/Halo+Combat+Evolved+Anniversary/   http://www.upcominggames.com/478/Gears+of+War+3/

jsoup标签解析这个并提取文章是什么?

上述两篇文章的常用选择器是什么?

编辑:

我想要做的是解析这部分

    战争机器3事实
    Gears of War 3是由微软出版并由Epic Games开发的第三人称射击游戏,将于2011年9月20日在美国,澳大利亚和欧洲以及9月22日在日本发布。

    战争机器3简介
    这个Xbox 360独家结束的战争机器人三部曲,战争机器3让玩家处于一个令人兴奋的经历和生存,希望和兄弟情谊的故事中。这款第三人称射击游戏让玩家穿越了令人兴奋的世界,拥有比以往更多的色彩和细节。此外,其激动人心的多人游戏模式将引领玩家在完成活动后更加想要更多。

    战争机器3游戏
    任何玩过战争机器游戏的玩家在玩“战争机器3”时都会感到熟悉,但这并不意味着他们不会面对一些新的惊讶。环境更加细致和身临其境,增加了战争机构特许经营的兴奋和刺激。与战争机器系列的前几部分相比,更多的敌人,战争机器3将为玩家提供一个全新的挑战,因为他们试图拯救人类完全毁灭。如果玩家拥有3D电视,他们将能够以3D形式播放这一新版本,以获得完全身临其境的体验。

    战争机器3多人游戏
    Gears of War 3的多人游戏使得游戏从Gears of War 2开始迈出了一大步。从专用服务器处理配对开始,Epic Games已投入大量精力使其成为最佳的Gears体验。通过Capture the Leader,King of the Hill和其他多人游戏模式,玩家可以在激动人心的死亡竞赛中与其他玩家一起在线玩游戏。

我想将Bold解析为单独的textView,然后在其下我想加载其内容。 基本上就是它如何在上面。

如果您点击文本并单击视图选择源,您将看到我尝试解析的内容

我熟悉jsoup。在这方面需要一些帮助。

2 个答案:

答案 0 :(得分:2)

你应该能够做到:

div#game-desc p

你尝试过哪些不起作用?

答案 1 :(得分:2)

是的,我得到你所说的。我认为,如果您研究网页源代码并找到常见的链接标记和属性,Jsoup会轻松提取此内容。要尝试包括:

  • 获取标记为“div”的元素
  • 分配了“game-desc”
  • 的属性“id”

从这两个过滤器返回的文本可能会得到你想要的东西。

如,

编辑:简化代码以使用select(...)

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class HaloStuff {
   private static final String TEST_URL_1 = "http://www.upcominggames.com/" +
        "2113/Halo+Combat+Evolved+Anniversary/";
   private static final String DIV_TAG = "div";
   private static final String ID_ATTR = "id";
   private static final String GAME_DESC = "game-desc";

   public static void main(String[] args) {
      Document jsDoc = null;

      List<String> textList = new ArrayList<String>();

      try {
         jsDoc = Jsoup.connect(TEST_URL_1).get();

         Elements textEles = jsDoc.select("div[id=game-desc]");
         for (Element ele : textEles) {
            System.out.println(ele.text());
         }

      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}