【问题标题】:Get a part of data got using HTTPClient获取使用 HTTPClient 获取的部分数据
【发布时间】:2014-02-18 04:28:21
【问题描述】:

我正在使用HTTPClient 连接到网站。

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

我现在希望只检索 html 的一部分。即我想要在标签<td><font size=\"2\"> 之后和</font> 之前显示的文本

我应该如何使用拆分功能来解决上述问题?

我用过

String[] substr = new String(responseBody).split("<td><font size=\"2\">");

但它给出了地址。

我希望显示文本。

我应该如何处理这个问题?

【问题讨论】:

  • 您能否更具体地说明要显示的文本是什么意思。你想从中检索什么文本。
  • @Mutant:我使用下面的代码来检索网站的html代码 byte[] responseBody = method.getResponseBody(); System.out.println(new String(responseBody));代码中有六个标签 ,它们之间有数据。我想得到那个数据。如何找回?
  • 你应该使用像 JSOUP 这样的 HTML 解析器。 jsoup.org
  • @user2822187 - 您需要使用各种示例中所示的模式 - stackoverflow.com/questions/2088412/get-text-between-html-tags
  • @Georgy Gobozov:我如何使用 byte[] responseBody = method.getResponseBody();在文档中 doc = Jsoup.parse(html);我使用 Document doc = Jsoup.parse(new String(responseBody)); 时出现类型转换错误

标签: java html http httpclient


【解决方案1】:

对于一个简单的情况,您可以使用正则表达式匹配并删除所有将留下数据的标签。

\<[^\>]*\>

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签