如何在java项目中使用Goose?我测试了boilerpipe和goose的在线版本,最后一个版本要好得多,但现在它是用Scala开发的。
我搜索了以前版本的jar,但是找不到它(两个api都没有)。我尝试的最后一个.jar是: goose-2.1.22。我将其导入到我的Ecplise项目中,并尝试使用以下代码:
String url = "http://www.cnn.com/2010/POLITICS/08/13/democrats.social.security/index.html";
Goose goose = new Goose(new Configuration());
Article article = goose.extractContent(url);
System.out.println(article.cleanedArticleText());但是我得到了这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at daweb.main(daweb.java:212)
Caused by: java.lang.ClassNotFoundException: scala.ScalaObject
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 13 more可以在没有Scala的情况下使用Goose吗?
发布于 2013-10-05 22:29:02
应该将Scala库添加到buildpath中
发布于 2013-12-14 14:20:52
在issues页面中提供了一个链接,您可以在其中找到为java使用而编译的.jar。https://github.com/GravityLabs/goose/issues
import com.gravity.goose.*;
String url = "http://www.straitstimes.com/little-india-riot";
Goose goose = new Goose(new Configuration());
Article article = goose.extractContent(url);
System.out.println(article.cleanedArticleText());这段代码就像一个开始。
发布于 2014-07-22 13:26:57
如果您正在使用Maven管理依赖项,您只需将Goose添加到pom.xml的依赖项部分,它的所有传递依赖项都将在类路径中结束。
<dependency>
<groupId>com.gravity</groupId>
<artifactId>goose</artifactId>
<version>2.1.22</version>
</dependency>https://stackoverflow.com/questions/18853794
复制相似问题