Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检索网页的内容_Java_String - Fatal编程技术网

Java 检索网页的内容

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();

我想获取网页并将内容保存为字符串?有图书馆可以这样做吗?我想为我正在构建的程序使用字符串。它适用于不一定提供rss提要的网站。

我想你需要这个

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”…非编码)