【问题标题】:"Exception in thread "main" java.Lang.NullPointerException" Error“线程“主”java.Lang.NullPointerException 中的异常”错误
【发布时间】:2014-02-19 00:56:18
【问题描述】:

我正在尝试在 Eclipse 中运行一个网络爬虫,它使用 Jsoup 可以获取此页面上教授的姓名:yu.edu/faculty 并将它们打印出来。这是我的代码:

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class YUscraper {

    public static void main(String[] args) throws IOException {

        // fetches & parses HTML        
        String url = "http://yu.edu/faculty/";
        Document document = Jsoup.connect(url).get(); 

        // Extract data
        Element content = document.getElementById("mainlist");
        Elements names = content.getElementsByTag("a");


        // Output data
        for (Element name : names) {
            System.out.println("Name: " + name.text());
        }
    }

}

我收到此错误:

Exception in thread "main" java.lang.NullPointerException
at YUscraper.main(YUscraper.java:18)

我对此比较陌生,所以如果我遗漏了一些非常明显的东西,请原谅我。我使用了很多我见过的例子来达到这一点,但我仍然不明白 throws IOException 的用途以及发现异常意味着什么。请帮忙,谢谢!

【问题讨论】:

    标签: java eclipse web-scraping jsoup


    【解决方案1】:

    第 18 行是

    元素名称 = content.getElementsByTag("a");

    http://yu.edu/faculty/检索的html中似乎没有id为“mainlist”的标签。

    似乎您试图访问标记 main-nav 而不是主列表。

    【讨论】:

      【解决方案2】:

      线Element content = document.getElementById("mainlist");

      内容返回为空,所以 null.getElementsByTag 给出了错误.. 看起来 html 没有 'mainlist'

      元素

      【讨论】:

      • 谢谢。我很困惑。我很感激。
      猜你喜欢
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      相关资源
      最近更新 更多