Java 检索网页的内容
我想获取网页并将内容保存为字符串?有图书馆可以这样做吗?我想为我正在构建的程序使用字符串。它适用于不一定提供rss提要的网站。我想你需要这个Java 检索网页的内容,java,string,Java,String,我想获取网页并将内容保存为字符串?有图书馆可以这样做吗?我想为我正在构建的程序使用字符串。它适用于不一定提供rss提要的网站。我想你需要这个 URL url = new URL("http://www.google.com/"); URLConnection con = url.openConnection(); InputStream in = con.getInputStream(); String encoding = null; // con.getContentEncoding();
URL url = new URL("http://www.google.com/");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = null; // con.getContentEncoding(); *** WRONG: should use "con.getContentType()" instead but it returns something like "text/html; charset=UTF-8" so this value must be parsed to extract the actual encoding
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);
System.out.println(body);
我想你需要这个
URL url = new URL("http://www.google.com/");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = null; // con.getContentEncoding(); *** WRONG: should use "con.getContentType()" instead but it returns something like "text/html; charset=UTF-8" so this value must be parsed to extract the actual encoding
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);
System.out.println(body);
我可以向你推荐JSoup吗
Document doc = Jsoup.connect("www.google.com").get();
我可以向你推荐JSoup吗
Document doc = Jsoup.connect("www.google.com").get();
你可以用
你可以用
我真不敢相信你居然没找到。我不相信你已经开始搜索了@用户2516730您应该将问题标记为重复。可能HtmlUnit可能会对您有所帮助。@antiearth谢谢,也许我用来搜索的关键字对我遇到的问题不准确。我不可能相信您没有找到。我不相信你已经开始搜索了@user2516730您应该将问题标记为重复。可能HtmlUnit可能会对您有所帮助。@antiearth谢谢,可能我用于搜索的关键字与我遇到的问题不准确。您好。你知道这比公认的答案慢还是快吗?@dentex我不知道。@dentex我认为你在性能上没有多大收获。不要忘了你想访问一个远程资源,所以如果你关心的是速度的话,那么结果的速度就不取决于你了
apachehttpcomponents
为您提供了更多类似异步调用的功能。由你决定。你好。你知道这比公认的答案慢还是快吗?@dentex我不知道。@dentex我认为你在性能上没有多大收获。不要忘了你想访问一个远程资源,所以如果你关心的是速度的话,那么结果的速度就不取决于你了apachehttpcomponents
为您提供了更多类似异步调用的功能。这取决于您。请小心,应该使用con.getContentType()
而不是con.getContentEncoding()
,但它返回类似“text/html;charset=UTF-8”
的内容,因此必须解析此值才能提取实际的编码(我在上面的代码中添加了注释以反映这一点)请参阅关于我之前的评论(con.getContentEncoding()
用于“gzip”、“compress”、…非编码)小心,应该使用con.getContentType()
而不是con.getContentEncoding()
,但它返回类似于“text/html;charset=UTF-8”的内容
因此必须解析此值才能提取实际编码(我在上面的代码中添加了一条注释以反映这一点),请参阅关于我以前的注释(con.getContentEncoding()
用于“gzip”、“compress”…非编码)