我正在使用 Java 从网页中获取 HTML block 。现在我正在使用带有 getInputStream() 的 URLConnection ,它正在加载整个页面,并且花费的时间比我想要的要长一些。无论如何,它是否可以只加载我需要的 block ,或者排除图像或其他可以加快速度的内容。任何帮助表示赞赏。谢谢。
这是一些代码:
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());
关于java - 加快 HTML 提取速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760947/