JSOUP:加载URL时出现-1错误。

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

enter image description here

我正在使用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 在org.jsoup.helper.HttpConnection.get(HttpConnection.java:146)05-17 在com.c0dehunter.aZDR.diseaseActivity $ getDataTask.doInBackground(diseaseActivity.java:46)中 在com.c0dehunter.aZDR.diseaseActivity $ getDataTask.doInBackground(diseaseActivity.java:1)中 在android.os.AsyncTask $ 2.call(AsyncTask.java:185)05-17 10:22:32.937: 在java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:305)中 在java.util.concurrent.FutureTask.run(FutureTask.java:137)05-17 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)中 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:561)中 在java.lang.Thread.run(Thread.java:1096)
如果您单击链接,您将看到可以正常打开它。这里的问题是什么?

你也在真机上试过吗?我在模拟器上一直收到相同的错误,但在真机上却可以顺利运行。 - NotCamelCase
1个回答

2

我运行了你的连接,它正常工作。但是我不能说同样的话对于你的查询。它不能精确地带来你想要的结果。所以我稍微进行了改进:

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

任何一个都可以基本上获取所有的帖子。从现在开始,你可以独自前进了,对吧?如果你还需要什么,请随时提出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接