【问题标题】:java.lang.IllegalArgumentException working with Jsoupjava.lang.IllegalArgumentException 与 Jsoup 一起使用
【发布时间】:2012-12-29 07:16:46
【问题描述】:

我的代码:

public static void main(String[] args) {
    Validate.isTrue(true, "usage: supply url to fetch");
    try{
        String url="http://www.spoj.com/ranks/PRIME1/";
        Document doc= Jsoup.connect(url).get();
        Elements es=doc.getElementsByAttributeValue("class","lightrow");
        System.out.println(es.get(0).child(0).text());


    }catch(Exception e){e.printStackTrace();}
}

获取:

Exception in thread "main" java.lang.IllegalArgumentException: usage: supply url to fetch
at org.jsoup.helper.Validate.isTrue(Validate.java:45)
at org.jsoup.examples.HtmlToPlainText.main(HtmlToPlainText.java:26)

请指出我的错误以及为什么会出错。我在 Jsoup 官方网站上举了一个例子。

【问题讨论】:

    标签: java html-parsing jsoup


    【解决方案1】:

    它按预期运行。我认为这需要在命令行上将一个参数传递给程序才能运行(一个 URL)。

    请看这个:

        public static void main(String[] args) throws IOException {
            Validate.isTrue(args.length == 1, "usage: supply url to fetch");
    

    【讨论】:

    • 你能说出它背后的原因吗,为什么参数计数与这样的事情有关?
    • 如果您想运行该代码,它确实需要传递一个参数(即 URL)。上面的语句验证你是否通过了。
    • 同意。使用一个 commandlineargument 运行您的代码并且它有效(我得到了一个超时,但这在这里讨论:stackoverflow.com/questions/14155062/…)。确保在启动程序之前向程序添加参数(即使从 IDE 运行)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    相关资源
    最近更新 更多