更新:感谢每个人都接受了 zEro 的回答,它似乎解决了我的问题,而且很整洁。
大家好,我目前正在使用 jsoup 进行一些工作,并且正在从页面中抓取一些数据......
我似乎遇到了这个代码块引发空指针异常的问题
Element imagelink;
imagelink = post.getElementsByClass("separator").first().getElementsByTag("img").first();
if(imagelink != null){
if(imagelink.attr("src") != null){
imageURL = imagelink.attr("src");
}else{
imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
}
}else{
imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
} }`
我试图调整语句以避免空指针,但我似乎无法摆脱它。
有人有想法么?
更新:
这似乎是由于我正在抓取的页面的 HTML 非常草率,有些标签在那里,有些标签没有......
为了解决这个问题,我必须运行大量的陷阱以确保所有元素都存在......我想出了这个,但如果有人能看到一种简化的编写方式,我会很高兴。(因为我对java相当陌生)
Element imagelink;
imagelink = post.getElementsByClass("separator").first();
if(imagelink != null){
imagelink = imagelink.getElementsByTag("img").first();
if(imagelink !=null){
if(imagelink.attr("src") != null){
imageURL = imagelink.attr("src");
}else{
imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
}
}else{
imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
}
}else{
imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
}