java - 加快 HTML 提取速度

标签 java html optimization urlconnection

我正在使用 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/

相关文章:

HTML,CSS : double border on table's rows

algorithm - 优化的 TSP 算法

Java 基于作为对象字段给出的 EnumType 实现业务逻辑

java - 为什么bufferedreader和scanner的输出不同?

java - 应用引擎 : Having a web module and a endpoint module

java - 如何修复 'android.os.NetworkOnMainThreadException' ?

javascript - 为什么渲染像素与真实像素不同?

html - div 中的文本不会位于 div 的中间

c - 如何使内存总线饱和

c++ - 条件分支的模板和优化