我不完全确定如何描述问题,但基本上,我使用JSoup来解析一些html并提取文章文本。我使用的方法是:Android和桌面应用程序
public static String getArticle(String articleLink) {
Log.i("article link", articleLink);
Document doc = null;
try {
doc = Jsoup.connect(articleLink).timeout(10000).get();
} catch (IOException ioe) {
return null;
}
Elements articleBody = doc.select("div.article-body");
Element first = articleBody.first();
return first.text();
}
当我拉出来的代码这个片段中,以及在NetBeans中创建一个示例程序,并在链接传递到页面,则返回文章就好了。但是,当我在我的android设备上运行它时,我在'return first.text()'处得到一个空指针。
我不知道这是怎么回事。该应用程序已发布并一直在运行,但突然间,它开始崩溃,导致我相信网页布局中的某些内容发生了变化,但我只运行了独立程序,并通过了相同的文章链接,并且它工作正常在我的电脑上很好,但我得到了android上的nullPointer。相同版本的jsoup也一样,有什么想法?
更新:doc变量的值是:
<!DOCTYPE html>
<html>
<head>
<title>Redirecting...</title>
<meta http-equiv="refresh" content="0;url=http://m.ncataggies.com/mobile/ViewArticle.dbml? atclid=205823481&DB_MENU_ID=&SPSID=&SPID=&DB_OEM_ID=24500" />
<meta name="ROBOTS" content="NOINDEX,NOFOLLOW" />
</head>
<body>
</body>
</html>
因此,一些的确发生了变化......
什么是你要刮的页面? –
http://www.ncataggies.com//ViewArticle.dbml?DB_OEM_ID=24500&ATCLID=205821772 – user1154644
显示logcat输出 – Squonk