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

如何使用Jsoup配合凌空抽射?

万修然
2023-03-14
 public Document GetDocument(String site) {      
        Document doc = Jsoup.connect(site).timeout(600000)
        .data("query", "Java")
        .userAgent("Mozilla")
        .get();

        return doc;
 }

我想我只会用jsoup分析数据,用Volley连接/下载?当我使用jsoup.connect(site).timeout(600000)时,我应该用volley来做?

有人能用volley和JSOUP编写/链接一个简单的例子吗?

共有1个答案

华宏逸
2023-03-14

有人能用volley和JSOUP编写/链接一个简单的例子吗?

实际上,Jsoup使用httpurlconnection。这个类已经知道Android平台上未解决的问题、bug和性能问题。

相反,首先用Volley加载数据,然后用JSOUP解析它。

private static RequestQueue myRequestQueue = null;

public Document GetDocument(String site) throws Exception {   
   final Document[] doc = new Document[1];
   final CountDownLatch cdl = new CountDownLatch(1);
 
   StringRequest documentRequest = new StringRequest( //
        Request.Method.GET, //
        site, //
        new Response.Listener<String>() {
           @Override
           public void onResponse(String response) {
               doc[0] = Jsoup.parse(response);
               cdl.countDown();
           }
        }, //
        new Response.ErrorListener() {
           @Override
           public void onErrorResponse(VolleyError error) {
               // Error handling
               System.out.println("Houston we have a problem ... !");
               error.printStackTrace();
           }
        } //
   );

   if (myRequestQueue == null) {
       myRequestQueue = Volley.newRequestQueue(this);
   }

   // Add the request to the queue...
   myRequestQueue.add(documentRequest);

   // ... and wait for the document.
   // NOTE: Be aware of user experience here. We don't want to freeze the app...
   cdl.await();

   return doc[0];
}
    null
 类似资料:
  • 问题内容: 我正在使用凌空特技从REST api解析电影详细信息,并将解析后的数据保存在一个名为detailsMovies的对象的Arraylist中。但是我无法在onResponse方法之外访问ArrayList。我是Android新手,所以我不知道该怎么做。任何帮助表示赞赏! 这是代码: 问题答案: 在您的课程中定义一个接口并实现它。 因此,这里的简单技巧是与回调接口。

  • 问题内容: 我正在尝试从HTML中的实体中删除硬空间。我无法使用或删除它,等等!我不明白 我什至在Stackoverflow上找到了可以尝试的方法,但两者均无济于事。 我尝试了此操作(因为返回实际的硬空格字符U + 00A0 ): 但是我不知道为什么不能使用删除空白。 问题答案: 您的第一次尝试 几乎是 这样,您完全可以将Jsoup映射到U + 00A0。您只是不希望字符串中使用双反斜杠: 不使用

  • 我使用的是volley.jar,在编译时没有错误,但是有运行时异常。 然后添加volley.jar和build path。什么是问题? CustomAdapter.java

  • 问题内容: 我正在尝试确定是否有可能让JPA保留具有具体实现的抽象集合。 到目前为止,我的代码如下所示: 但是我一直在绊脚石下面的映射错误,我真的不知道这是否可行? 更新 我不认为问题出在抽象类上,而是 @MappedSuperClass 批注。看起来jpa不喜欢使用 @MappedSuperClass 映射一对多关系。如果我将抽象类更改为具体类,则会遇到相同的错误。 如果我然后更改为 @Enti

  • 我正在使用截击从AWS下载文件。文件大小约为6MB。在Android文档中提到,你不应该使用截取下载大文件。那么截击时文件大小的限制是什么。我在emulator上使用不同的网络类型和信号强度来检查我的应用程序在下载文件时的行为。我主要想检查GSM网络类型。如果我保持网络类型为GSM,即使我的信号强度很大,我也会超时。如果我的网络类型是Full或LTE,则文件下载速度非常快。对于GSM,我甚至将重试

  • 我有一个凌空的JSONRequest,它被卡住了,因为来自服务器的响应不是有效的JSON(它是html)。 如何才能优雅地处理此错误?我有以下实现: 然而,当我发送请求并得到无效的JSON响应时,不会调用onErrorResponse。相反,我得到了一个例外 整个应用程序崩溃了。 我设法将该错误跟踪到JsonObjectRequest.java类中的以下行: 调用的行是:返回响应。错误(new P