3

我想解析网站上的一段。我想解析post div中的第一段:

在此处输入图像描述

我正在使用 AsyncTask 来检索数据。这是 doInBackground 函数:

@Override
protected Elements doInBackground(String... url) {
    Document doc = null;
    try {
        doc = Jsoup.connect(url[0]).timeout(10*1000).get();
        return doc.select("div.post > p");
    } catch (Exception e) {
        e.printStackTrace();
    }
    return new Elements();
}

但是我总是在 Logcat 中得到这个:

java.io.IOException:-1 错误加载 URL http://www.vaccinestoday.eu/diseases/disease/rabies/

在 org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:414) 在 org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:391) 在 org.jsoup.helper.HttpConnection.execute(HttpConnection .java:157) 05-17 at org.jsoup.helper.HttpConnection.get(HttpConnection.java:146) 05-17 at com.c0dehunter.aZDR.diseaseActivity$getDataTask.doInBackground(diseaseActivity.java:46) at com. c0dehunter.aZDR.diseaseActivity$getDataTask.doInBackground(diseaseActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) 05-17 10:22:32.937: at java.util.concurrent.FutureTask$ Sync.innerRun(FutureTask.java:305) at java.util.concurrent.FutureTask.run(FutureTask.java:137) 05-17 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) at java。 util.concurrent.ThreadPoolExecutor$Worker。在 java.lang.Thread.run(Thread.java:1096) 处运行(ThreadPoolExecutor.java:561)

如果你点击链接,你会看到你可以正常打开它。这里有什么问题?

4

1 回答 1

2

我运行了你的连接,它运行得很好。我不能对你的查询说同样的话。它并没有给你带来你想要的东西。所以我增强了它:

doc.select("div[class=post-entry] > p");
doc.select("div.post-entry > p");

其中任何一个基本上都会得到所有的帖子。从现在开始,你可以继续单飞,不是吗?还有什么需要的,直接问吧。

于 2012-05-17T12:16:48.250 回答