问题标签 [crawler4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2623 浏览

java - 如何使用 crawler4j 提取页面上的所有链接?

我正在实现一个网络爬虫,我正在使用 Crawler4j 库。我没有得到网站上的所有链接。我尝试使用 Crawler4j 提取一页上的所有链接,但错过了一些链接。

Crawler4j 版本: crawler4j-3.3

我使用的网址:http://testsite2012.site90.com/frontPage.html

此页面上的链接数:几乎 60 和其中 4-5 是重复的

crawler4j 给出的链接数:23

是页面上的 URL 列表,是 Crawler4j 给出的 URL 列表。

我查看了 crawler4j 使用的“HtmlContentHandler.java”文件来提取链接。在此仅提取与“src”和“href”链接相关的链接。

我发现这些文件之间的区别。Crawler4j 缺少与“src”或“href”属性无关且位于“脚本”标签下的链接。 是 crawler4j 没有抓取的链接列表。

如何提取此页面上的所有链接?我需要在 HTML 解析页面上进行字符串操作(例如查找 'http' )还是应该更改 'HtmlContentHandler.java' 文件的代码?

哪个是最好的方法?

即使我进行字符串操作并提取此页面上的所有链接,但 Crawler4j 正在使用自己爬取的链接来爬取网站,在这种情况下它不会错过一些页面吗?

0 投票
1 回答
927 浏览

java - 如何在运行时在 Crawler4j 中添加种子?

我正在使用 crawler4j,我需要在运行时添加链接。比方说,我添加了一个种子“LinkA”,crawler4j 开始抓取它。在程序运行时,我想再添加一个种子“LinkB”。可以做到吗?如果是,如何?

提前致谢。

0 投票
2 回答
1203 浏览

java - 控制要在运行时抓取的 URL 列表

在 crawler4j 中,我们可以重写一个函数boolean shouldVisit(WebUrl url)并通过返回“true”和“false”来控制是否应该允许抓取特定的 url。

但是我们可以在运行时添加 URL 吗?如果是,有什么方法可以做到这一点?目前我可以在程序开头使用addSeed(String url)函数start(BasicCrawler.class, numberOfCrawlers)CrawlController类之前添加 URL,如果我尝试使用添加新 url addSeed(String url),它会给出错误。是错误图像。

任何帮助将不胜感激,如果需要有关项目的更多详细信息来回答问题,请告诉我。

0 投票
2 回答
2303 浏览

scala - 在 Play 控制台中选择性地禁用 log4j 调试日志

我有一个 Play 2.0 应用程序,play console从命令行运行。在我使用的一个库中的某个地方,它使用log4j并开始流式传输调试输出[crawler4j][1],我试图弄清楚如何在播放控制台中选择性地禁用该输出。我尝试更改以下内容application.conflogger.xml没有任何运气

这是流式调试日志的示例

需要明确的是,当我从命令行运行 Play 应用程序时会强制执行日志设置,而当我从命令行运行它时,play console不会强制执行设置。

0 投票
3 回答
3172 浏览

web-crawler - 如何抓取我的网站以检测 404/500 错误?

是否有任何快速(可能是多线程)的方式来抓取我的网站(单击所有本地链接)以查找 404/500 错误(即确保 200 响应)?

我还希望能够将其设置为仅单击每种类型的链接中的 1 个。因此,如果我有 1000 个类别页面,它只会点击进入一个。

http://code.google.com/p/crawler4j/是一个不错的选择吗?

我想要一些超级容易设置的东西,而且我更喜欢 PHP 而不是 Java(尽管如果 Java 快得多,那也可以)。

0 投票
1 回答
873 浏览

crawler4j - crawler4j 爬取 url 列表而不爬取整个网站

我有一个需要抓取的网址列表。是否可以仅抓取网页列表而不进行深度抓取。如果我将 url 添加为种子,它会以完整的深度抓取整个网站。

0 投票
2 回答
1640 浏览

java - crawler4j CrawelController 类中的 NoSuchMethodError

我正在使用此处给出的示例并包含来自[此处](http://code.google.com/p/crawler4j/downloads/list)的必要文件(crawler4j-3.3.zip &crawler4j-3.x-dependencies.zip)我的构建路径和运行路径。

我收到此错误:

Exception in thread "main" java.lang.NoSuchMethodError: com.sleepycat.je.EnvironmentConfig.setAllowCreate(Z)Lcom/sleepycat/je/EnvironmentConfig; at edu.uci.ics.crawler4j.crawler.CrawlController.<init>(CrawlController.java:90) at edu.uci.ics.crawler4j.examples.basic.BasicCrawlController.main(BasicCrawlController.java:100) log4j:WARN No appenders could be found for logger (org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager). log4j:WARN Please initialize the log4j system properly. .

我无法理解错误原因,因为此文件中有必需的功能,请参见第 75 行。

请帮帮我。我在 Java 方面没有太多专业知识。难道这个问题和这个有关。如果是,如何解决。

0 投票
2 回答
382 浏览

java - 我应该使用什么 html 解析器?

我正在开发一个需要解析 HTML 文档的产品。我寻找 Jericho、TagSoup、Jsoup 和 Crawl4J。我应该使用哪个解析器来解析 HTML,因为我需要使用石英在多线程环境中运行此进程?

如果一次有 10 个线程在内存中运行,那么我需要一个消耗更少内存的 API。在杰里科,我在某处读到它是基于文本的搜索 API,并且消耗的内存更少。我对吗?或者我应该去其他的,为什么?

0 投票
1 回答
669 浏览

java - Java - Eclipse - 声明的包“edu.uci.ics.crawler4j.examples.basic”与预期的包“”不匹配

我正在尝试为Crawler4j设置示例代码,但 Eclipse 抛出了一个我不理解的错误。错误是:

路径“edu.uci.ics.crawler4j.examples.basic”在那里并且正确。

0 投票
3 回答
1718 浏览

java - 在 crawler4j 上确定参数

我正在尝试使用 crawler4j,就像在示例中使用的那样,无论我如何定义爬虫的数量或更改根文件夹,我都会继续从代码中收到此错误:

“需要的参数:rootFolder(它将包含中间爬取数据)numberOfCralwers(并发线程数)”主要代码如下:

有一个类似的问题问我到底想知道什么但我不太明白解决方案,比如我在哪里输入java BasicCrawler Controller "arg1" "arg2"。我在 Eclipse 上运行这段代码,但我对编程世界还是很陌生。如果有人帮助我理解这个问题,我将不胜感激