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

重用Jsoup连接

丰俊艾
2023-03-14

我喜欢Jsoup解析html,但他们的连接有问题,我需要向同一个网站发送请求,但不同的查询参数,比如“id=XXX”,请求如下:

http://website/?id=XXX

我不想为每个id创建新连接,而是为所有id请求保留一个连接,以下是我的代码

Connection conn = null;

..
if (_conn == null) {
 _conn = Jsoup.connect("http://website/";
}
doc = _conn.data("id", id).get()
..

但它似乎只适用于第一次,然后每次代码运行时都重复相同的请求,在这种情况下,我只能查询第一个id,即使我在其他时间传递了不同的id。我该怎么解决这个问题?

共有1个答案

翟博雅
2023-03-14

通过更改\u conn.url(),我成功地实现了某种重用 对于每个请求,在您的情况下

String siteUrl = "http://website/";
Connection _conn = Jsoup.connect(siteUrl);
int[] ids = {1,2,3};
for (int i : ids) {
    _conn.url(siteUrl + "?id=" + i);
    Document doc = _conn.get();
}

这远不如更改\u conn.request()优雅。data()在我看来,但这似乎是唯一的方法

希望有帮助。

 类似资料:
  • 我对使用jsoup很陌生,我只想问一下,我是否必须在公共静态void main中使用jsoup代码,就像我在网上研究时看到的那样,还是可以在任何其他方法中使用它。我和Jsoup也有问题。连接()。get()。我的应用程序在运行时总是停止。我已经添加了android。准许互联网连接到我的AndroidManifest。xml。我读了烹饪书,决定从解析文档开始,但仍然生成相同的结果——不幸的是,应用程

  • 问题内容: 我正在尝试创建一个应用程序,以从站点的多个页面上抓取内容。我正在使用JSoup进行连接。这是我的代码: 在大多数情况下,一切正常。但是,我想做一些事情。 首先,有时会返回404状态,或者会返回500状态,可能会返回301状态。在下面的代码中,它将仅打印错误并移至下一个URL。我想做的是尝试能够返回所有链接的url状态。如果页面连接,则打印200,否则打印相关的状态码。 其次,有时我会遇

  • 我以前问过另一个问题,可以在Jsoup解析HTML问题上看到。我试图解析一个数据值从一个网站到我的android应用程序。我现在意识到,虽然在我的应用程序中,我给出了网页的url和我需要的数据,但当我从我的应用程序连接到url时,它总是连接到网站的登录页面,因此找不到要解析的数据。我在想有没有办法避免这种情况?

  • 我在URL http://www.walmart.com/search/search-ng.do?tab_value=all废弃沃尔玛页面 我正在基于用户参数构建 URL 并使用构建 DOM 对象 对于下一步,我想打印所有产品/价格。我使用了以下代码: 在这里,我使用价格和产品描述的标签。但是,我的结果是: 这里的价格是重复的,因为可能有一个quickview标签。是否有任何方法可以使用任何JSO

  • 这是我的口袋碎片。爪哇: 通常,我在异步任务中使用jsoup解析一些数据。现在,我需要解析另一个应该包含元素或w/e的url,例如。 我可以在同一个异步任务中完成它,还是应该创建一个新的异步任务? 基本上我需要我的url是: 然后我应该解析一些其他元素,放入数组列表,然后使用它。 是否可能,像多个连接和使用一个元素的url? 我正在解析以下网站:,我正在解析异步任务中的href标记,比如:

  • 当我解析本地HTML文件时,jsoup将锚元素中的引号改为 假设我想将下面HTML部分中的值“一”改为“二”: 我得到的是: 锚点元素内的引号是必需的。我的代码现在看起来像这样: 我试过了 没有成功。 我可以用jsoup实现这一点吗?我必须使用不同的解析器吗?那看起来会是什么样子。 提前非常感谢你。