我目前正在尝试使用jsoup制作网络抓取程序。但是,当我编译程序时,我导入的所有内容似乎都不会出现,并且错误地指出无法找到我从jsoup引用的任何对象。
这是我的导入方式:
`
import java.io.*;//for website
import java.net.URL;//retrieve url
import java.util.logging.Level;//log errors
import java.util.logging.Logger;
import java.io.*; //I/O stream
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jsoup.Jsoup;//web scraper
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.net.URL;`
这些是我遇到的错误类型:
Images.java:25: error: cannot find symbol
for(Element el : img){// for each element, get source (src) url
在jsoup中找不到元素的地方。
这个问题对我来说很奇怪,因为我似乎正确地导入了所有内容。我的项目的根目录中也有jsoup.jar和提取的jsoup文件,如果这样做是正确的方法。我正在使用java10SDK通过cmd进行编译,并且我尝试使用intelliJ Ultimate来使用它们的依赖项注入,但是我似乎无法弄清楚。我也尝试过用java7进行编译,我不确定它是否真的用我尝试过的方法进行了编译。
答案 0 :(得分:0)
您应该为项目添加 Maven 支持,因为这是管理所有依赖项的最简单方法。为此,您只需从项目工具栏的 IntelliJ 中选择项目文件夹,然后选择“添加框架支持”,然后向下滚动直到看到“ Maven”。
向项目添加Maven支持后,只需启用“自动导入”,IntelliJ本身就会向您显示一个菜单以选择是否要启用它们,您必须选择“是”。
最后,您需要在关闭项目块()之前,将此块添加到项目文件夹中创建的新文件中,该文件名为 pom.xml :
<dependencies>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
</dependencies>
执行完此操作后,现在可以在项目中导入并使用 JSOUP 软件包。如果要添加更多库,可以签出:https://mvnrepository.com/,然后选择要安装的库的所需版本,然后将依赖项块复制并粘贴到Maven文件上。
作为提示,我强烈建议您对项目使用依赖项管理器(例如Maven f.e.),并在创建项目后始终添加它。
希望有帮助!