我想阅读网站网址并将内容的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);
答案 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";
}
链接字符串会在那里为您提供链接。