[英]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.