我不完全確定如何描述問題,但基本上,我使用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