将网站内容输出到字符串android代码

时间:2012-01-08 14:22:53

标签: android web

我想阅读网站网址并将内容的html代码输出到字符串 之后我想在字符串中搜索url并将它们输出到另一个字符串。无论如何,我想帮助我只将html代码输出到一个字符串。 先感谢您。我有以下代码。这是正确的

URL url = new URL("http://www.example.com/");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);

2 个答案:

答案 0 :(得分:0)

我使用了jericho parsing library,结果非常方便。 我允许您浏览文档的HTML标记并访问标记属性。 例如,要获取所有链接的网址:(请检查文档中的确切语法)

Source source = new Source(new URL("http://...");
List<Element> elementList = source.getAllElements(); // loads all HTML tags in a list
    for (Element element : elementList) {
    if (element.getName().equals("A")) { // if <A> tag
    String segment = element.getContent().toString(); // will give you a string "< a href=...>...</A>
    String url = element.getAttributeValue("href"); // will return the url of the link
    }
}

答案 1 :(得分:0)

我会推荐Jsoup html解析器:http://jsoup.org/download 你想要.jar文件。 一旦你有了,抓住HTML非常简单。你可以说

String html = Jsoup.connect("http://url.com").get().html();

要搜索您的网址,请使用某些内容来遍历字符串,就像普通字符串一样(例如Scanner类,它很容易使用)。要使用它你可以这样做:(当然在api中也可以理解这一点,但在这里:)

Scanner in = new Scanner(html);
String links = "";
while(in.hasNext()){
    String line = in.nextLine();
    if(line.contains("yoursearchingkeyword") 
         links += line.substring(line.indexOf("http"),line.indexOf("</a>") + "\n";
}

链接字符串会在那里为您提供链接。