Java 如何修复此jsoup元素nullpointerexception

Java 如何修复此jsoup元素nullpointerexception,java,jsoup,Java,Jsoup,更新:谢谢大家都接受了零答案,它似乎解决了我的问题,很好,很整洁 大家好,我现在正在和jsoup做一些工作,我正在从页面上抓取一些数据 我似乎遇到了一个问题,这段代码抛出了一个nullpointerexception Element imagelink; imagelink = post.getElementsByClass("separator").first().getElementsByTag("img").first(); if(imagelink != null){ if(imagel

更新:谢谢大家都接受了零答案,它似乎解决了我的问题,很好,很整洁

大家好,我现在正在和jsoup做一些工作,我正在从页面上抓取一些数据

我似乎遇到了一个问题,这段代码抛出了一个nullpointerexception

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相当陌生)

试试这个:

String imageURL;

if(post == null || post.select(".separator img[src]").isEmpty())
    imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
else
    imageURL = post.select(".separator img[src]").first().attr("src");
请阅读更多关于这个主题的文章

试试这个:

String imageURL;

if(post == null || post.select(".separator img[src]").isEmpty())
    imageURL = "http://img27.imageshack.us/img27/1209/k0ve.jpg";
else
    imageURL = post.select(".separator img[src]").first().attr("src");

请阅读更多关于这个主题的文章

抛出异常的行是什么?方法链接太多了,尤其是当需要调试NPE时。尽量将代码分隔开一点,并使用空格,这对您是有利的。感谢您的快速回复,我相信imagelink=post.getElementsByClass(“分隔符”).first().getElementsByTag(“img”).first()是有效的;这是因为你提到的方法链接吗?这不是“由于方法链接”,而是方法链接使得调试错误更加困难。将每个方法放在自己的行上,然后隔离、查找并能够纠正错误。问题似乎是:要么
post
null
;或者您没有在
post
中使用类
分隔符的元素;或者,在第一个元素中没有
img
元素,在
post
中使用class
separator
。这有帮助吗?不管怎样,你能告诉我们你试图解析的页面(或页面本身)的HTML吗?抛出异常的那一行是什么?你有太多的方法链接,特别是当你需要调试NPE时。尽量将代码分隔开一点,并使用空格,这对您是有利的。感谢您的快速回复,我相信imagelink=post.getElementsByClass(“分隔符”).first().getElementsByTag(“img”).first()是有效的;这是因为你提到的方法链接吗?这不是“由于方法链接”,而是方法链接使得调试错误更加困难。将每个方法放在自己的行上,然后隔离、查找并能够纠正错误。问题似乎是:要么
post
null
;或者您没有在
post
中使用类
分隔符的元素;或者,在第一个元素中没有
img
元素,在
post
中使用class
separator
。这有帮助吗?无论如何,你能给我们看一下你试图解析的页面(或页面本身)的HTML吗?