首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在java中读取整个HTML

在java中读取整个HTML
EN

Stack Overflow用户
提问于 2021-07-21 22:34:01
回答 1查看 28关注 0票数 0

我必须收集隐藏在一些网站的整个html代码中的信息。问题是我不能阅读这些网站的全部html代码。我试过jsoup、Apache的HTTPClient、HTTPClient java7版本和最新的java HTTPClient。当前(最后一个)选项在显示3098行html代码时效果最好。整个文档还有大约1000行。

负责下载页面的方法:

代码语言:javascript
运行
复制
public static boolean saveMaterials(String link, String filePath) throws IOException, InterruptedException {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder().uri(URI.create(link)).build();
        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        try {
            PrintWriter tmp = new PrintWriter(filePath);
            tmp.print(response.body());
            return true;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        return false;
    }

有没有人知道如何改变缓冲区大小或其他解决问题的方法?

EN

Stack Overflow用户

发布于 2021-07-22 19:24:31

按照Mr.Andersen的建议,我使用了curl命令:

代码语言:javascript
运行
复制
static public boolean save(String link, String filePath) throws IOException {
    String command = "curl -X GET " + link;
    try (InputStream inputStream = new ProcessBuilder(command.split(" "))
            .directory(new File("/"))
            .start()
            .getInputStream();
         OutputStream output = new FileOutputStream(filePath, false)) {
        inputStream.transferTo(output);
    } catch (IOException e) {
        return false;
    }
    return true;
}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68471455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档