繁体   English   中英

加快HTML提取

[英]Speeding up HTML extraction

我正在使用Java从网页中获取大量HTML。 现在,我正在将URLConnection与getInputStream()一起使用,这将加载整个页面,并且花费的时间比我想要的长一点。 无论如何,它是否仅加载我需要的块或排除图像或其他任何可以加速它的内容。 任何帮助表示赞赏。 谢谢。

这是一些代码:

URL page = new URL("http://www.stackoverflow.com");
URLConnection connection = page.openConnection();
String html = getResponseData(connection);


public static String getResponseData(URLConncetion connection) {
StringBuffer sb = new StringBuffer();
InputStream is = connection.getInputStream();
int count;
while((count=is.read()) != -1){
    sb.append((char)count);
}

我认为您可以尝试在while循环中查找实际数据,并在找到后立即中止。

旁注,您的代码只会加载HTML。 不是真实的图像。 它们不是您请求页面时得到的响应的一部分。

更新:您还可以缓冲输入流。 它可以使输入更快。 您可以按照以下步骤进行操作

InputStream is = new BufferedInputStream(connection.getInputStream());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM