是否有任何方法只能从服务器获取网页的head部分,因此无需下载整个文档?虽然HTTP标头中有Range选项,但所有服务器都不支持它。此外,每个网页的头部大小并不相同
答案 0 :(得分:2)
您可以为要解析的网站创建InputStream
。然后使用BufferedInputStream
,并手动解析内容。如果您认为已完成(例如已达到</head>
),则可以关闭流。这样您就不会下载所有HTML内容。
代码:
InputStream is = new URL("http://www.website.com/").openStream();
BufferedInputStream bis = new BufferedInputStream(is);
Reader rdr = new InputStreamReader(bis);
boolean finished = false;
while(! finished) {
String line = rdr.readLine();
if (line.indexOf("</head>") >= 0) {
finished = true;
} else {
// parse or save the header
}
}
bis.close();