4
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.sql.*;  
public class linksfind{
public static void main(){
    String html = "http://www.apple.com/pr/";
    Document document = Jsoup.parse(html); // Can also take an URL.
    for (Element element : document.getElementsByTag("a")) {
        System.out.println(element.attr("href"));
}
}
}

伙计们,在上面的程序中,在执行时我发现了这些错误。如何解决?我已经在我的文件夹位置下载了 Jsoup.jar 文件。我还应该做什么?

linksfind.java:8: cannot find symbol
symbol  : class Document
location: class linksfind
    Document document = Jsoup.parse(html); // Can also take a
    ^
linksfind.java:8: cannot find symbol
symbol  : variable Jsoup
location: class linksfind
    Document document = Jsoup.parse(html); // Can also take a
                        ^
linksfind.java:9: cannot find symbol
symbol  : class Element
location: class linksfind
    for (Element element : document.getElementsByTag("a")) {
4

3 回答 3

10

当然是 Jsoup 的那些。

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

另请参阅Jsoup API 文档


也就是说,还有一个问题只有在你运行它时才会显现:你传递的 URL 是 ajava.lang.String而不是 a java.net.URL。AString将被视为纯 HTML,而不是资源。修复它:

URL url = new URL("http://www.apple.com/pr/");
Document document = Jsoup.parse(url, 3000);

更新:您只需要确保编译时和运行时类路径中都存在 Jsoup 库。使用javac.exeand时java.exe,使用-cp参数。例如编译它:

javac -cp .;/path/to/jsoup.jar com/example/YourClass.java

并执行它:

java -cp .;/path/to/jsoup.jar com.example.YourClass
于 2010-08-11T15:34:39.517 回答
0

看起来您的类路径中缺少 jsoup 库。然后你必须导入所需的 org.jsoup.* 包,

于 2010-08-11T15:34:04.557 回答
0

看起来 jsoup.jar 在编译过程中没有正确拾取并且丢失。Jsoup 只有一个依赖项 (commons lang),因此其他缺少的外部依赖项似乎不是您的直接问题。

如果您不想手动执行,您可能想尝试使用 Maven 或 Ivy 来解决您的依赖关系。

于 2010-08-11T15:41:01.217 回答