当前位置: 首页 > 知识库问答 >
问题:

使用从HTTPClient检索到JSoup的数据

陶健
2023-03-14

我正在使用HTTPClient连接到一个网站。以下代码片段用于此目的:

 byte[] responseBody = method.getResponseBody();
 System.out.println(new String(responseBody));

上面的代码显示了网站的html代码。此外,我只想访问代码中的一些数据,我可以使用以下代码片段使用JSoup访问这些数据:

Document doc = Jsoup.connect(url).get();

在上面的代码中,我使用“url”直接指定了网站的url。这意味着如果我使用JSoup,我不需要HTTPClient。有没有一种方法可以将使用HTTPClient检索到的“responseBody”集成到JSoup代码中,这样就不必使用doc=JSoup。连接(url)。get();

谢谢

共有1个答案

丌官运珧
2023-03-14

您可以直接通过JSoup#parse解析超文本标记语言

Document doc =  Jsoup.parse(new String(responseBody));

虽然我担心直接将字节数组转换为字符串,但在您的情况下,它应该可以正常工作。

另一种方式,我可以使用URLConnection,并获得一个处理InputStream,并将其解析为具有提供的字符集编码的String:

URLConnection connection = new URL("http://www.stackoverflow.com").openConnection();
        InputStream inStream = connection.getInputStream();
        String htmlText = org.apache.commons.io.IOUtils.toString(inStream, connection.getContentEncoding());

        Document document = Jsoup.parse(htmlText);
        Elements els = document.select("tbody > tr > td");

        for (Element el : els) {
            System.out.println(el.text());
        }

将给出:

Stack Overflow Server Fault Super User Web Applications Ask Ubuntu Webmasters Game Development TeX - LaTeX
Programmers Unix & Linux Ask Different (Apple) WordPress Answers Geographic Information Systems Electrical Engineering Android Enthusiasts Information Security
Database Administrators Drupal Answers SharePoint User Experience Mathematica more (14)
...
 类似资料:
  • 这里是表格输入图像描述 我正在使用这个代码 我收到了以下输出: 但我只想要科目名称和出勤情况 我试过很多事情,但没有任何结果。实际上我想存储的科目名称,参加的讲座和总讲座和百分比 所以我可以在应用程序中很好地显示这一点 示例: 而且 更新的帖子:- 添加此代码后 我得到了这个输出:- 我每门功课考四遍 新更新的帖子:

  • 我正在尝试使用从axios调用中检索到的数据。我在响应中得到了正确的信息,但当我试图返回响应时,调用函数中没有定义。是否有不同的方法将response.data返回给调用函数?

  • 我想使用jsoup从RSS提要检索数据。我可以在所有的标签,但我不能这样做,当有内容:编码标签。请任何人帮助我如何从内容:编码标签获取数据。我的订阅源URL是https://sambad.in/feed/我的代码也是Document doc=Jsoup。解析(String.valueOf(response));元素itemElements=doc。选择(“项目”);

  • 问题内容: 我正在尝试使用pyodbc从SQL Server检索数据,并使用Python将其打印在表中。但是,我似乎只能检索列名和数据类型之类的东西,而不能检索列每一行中的实际数据值。 基本上,我试图复制一个检索服务器数据并将其显示在表格中的Excel工作表。我连接到服务器没有任何问题,只是我似乎无法找到表中的实际数据。 这是我的代码的示例: 但是,这样做的结果只是给我一些诸如表名,列名以及一些整

  • Q2 是否有任何其他健壮的方法,或者如果我可以使用页脚链接和我已经完成的方法来结束,如果一个页面肯定是一个联系我们的页面?

  • 问题内容: 三天过去了,但仍然无法解决问题。当发送JSON数据时,对我的js文件的此AJAX调用似乎可以正常工作: 但在我的PHP文件中: Firebug控制台出现一些错误: 我相信这在我的php文件中工作正常,但是无法从w / c变量声明的ajax调用中识别出我发布的数据: 我相信我对我的代码做得正确,似乎我在这里阅读了许多问题,做了他们说的话,但不知道为什么会发生错误。您是否遇到任何问题/错误