[英]What is the fastest way to get a HTML Content using java?
我有这个,但是我想知道是否有更快的方法:
URL url=new URL(page);
InputStream is = new BufferedInputStream(url.openConnection().getInputStream());
BufferedReader in=new BufferedReader(new InputStreamReader(is));
String tmp="";
StringBuilder sb=new StringBuilder();
while((tmp=in.readLine())!=null){
sb.append(tmp);
}
网络可能是最大的开销,在Java代码方面您无能为力。 但是使用IOUtils
至少可以更快地实现:
String page = IOUtils.toString(url.openConnection().getInputStream());
记住关闭底层流。
如果您需要使用html进行操作,请找到一些库。 例如jsoup 。
jsoup是一个用于处理实际HTML的Java库。 它提供了使用DOM,CSS和类似jquery的最好方法提取和处理数据的非常方便的API。
例:
Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");
如果您按照Tomasz的建议使用Apache Commons IO的IOUtils,则有一个甚至更简单的方法: toString(URL)或采用字符集的首选表亲(当然,需要事先知道资源的字符集)。
String string = IOUtils.toString( new URL( "http://some.url" ));
要么
String string = IOUtils.toString( new URL( "http://some.url" ), "US-ASCII" );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.