在我的应用程序中,我正在使用crawler4j。尽管应用程序很大,但是我什至用此处给出的示例代码测试了代码:https://code.google.com/p/crawler4j/source/browse/src/test/java/edu/uci/ics/crawler4j/examples/basic/
问题是,它适用于大多数站点,但是当我将种子网址添加为http://indianexpress.com/时,搜寻器将停止运行,而日食上没有任何错误消息。我试了好几次,但是没用。我尝试在shouldVisit方法中打印url和示例文本,例如“ hello”,但没有任何打印内容表明它甚至没有到达那里。可能是什么问题 ?
编辑:
我只是想知道,rawler4j不适用于任何wordpress网站。例如,http://darcyconroy.net/或您可以选中http://indianexpress.com/next(在任何wordpress网站url后面添加/ next)。可能是什么原因 ? http://indianexpress.com/robots.txt似乎没有任何可疑的东西。
最佳答案
我认为,wordpress网站上有一些插件可以过滤Useragents,而不仅仅是robots.txt。
我可以说爬网被服务器阻止了。
启用记录器输出。
BasicConfigurator.configure();
将记录器设置为警告级别。
Logger.getRootLogger()。setLevel(Level.WARN);
使用以下代码将UserAgent String更改为Empty,它将对数据进行爬网。
config.setUserAgentString(“”);
因此,我认为与crawler4j无关。 Crawler4j设置默认的Useragent字符串,我认为此类插件已将其阻止或将其useragent字符串列入黑名单。