在我的应用程序中,我使用的是crawler4j。虽然应用程序很大,但我甚至用这里给出的示例代码测试了代码:https://code.google.com/p/crawler4j/source/browse/src/test/java/edu/uci/ics/crawler4j/examples/basic/
问题是,它适用于大多数网站,但当我将种子url添加为:http://indianexpress.com/,爬网程序在我的eclipse上停止,没有任何错误消息。我试了好几次,但都不起作用。我尝试在shouldVisit方法中打印url和类似"hello"的示例文本,但没有打印任何内容意味着它甚至无法到达那里。可能是什么问题?
编辑:
我只是觉得,crawler4j不适用于任何wordpress网站。例如,http://darcyconroy.net/或者你可以查看http://indianexpress.com/next(添加/旁边的任何wordpress网站网址(。原因可能是什么?http://indianexpress.com/robots.txt似乎没有写任何可疑的东西。
我认为,wordpress网站有一些插件来过滤用户代理,而不仅仅是robots.txt。
我可以说爬网被服务器阻止了。
启用记录器输出。
BasicConfigurator.configure((;
将Logger(记录器(设置为WARN Level(警告级别(。
Logger.getRootLogger((.setLevel(Level.WARN(;
用下面的代码将UserAgent字符串更改为Empty,它会抓取数据。
config.setUserAgentString("(;
所以我认为这与crawler4j无关。Crawler4j设置了默认的Useragent字符串,我认为它被阻止了,或者它的Useragent字符串被这些插件列入了黑名单。