我正在尝试使用edu.uci.ics.crawler4j lib从本地目录中的html文件中爬网页面。 C:/work/temp/test.html是它的路径。

我发现crawler4j正在建立Http连接。但是对于这种情况,不需要Http连接。我还为文件路径加上了file://前缀,例如"file:///C:/work/temp/test.html" (which is accessible)

从PageFetcher类的代码中:

    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));

    if (config.isIncludeHttpsPages()) {
        schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));
    }


有什么方法可以在crawler4j的PageFetcher中的SchemeRegistry中注册file://协议,或者
crawler4j始终用于服务器上的托管文件吗?

最佳答案

它应该是您的本地主机URL。例如,localhost:80 /应该是目录的根目录。该网址应类似于http://localhost:80/.......

08-06 20:44