gpt4 book ai didi

java - crawler4j异步将结果保存到文件

转载 作者:行者123 更新时间:2023-11-30 07:35:56 25 4
gpt4 key购买 nike

我正在评估crawler4j每天约100万次爬网我的场景是这样的:我正在获取 URL 并解析其描述、关键字和标题,现在我想将每个 URL 及其单词保存到一个文件中

我已经看到如何可能 save crawled data to files 。但是,由于我有许多爬行要执行,我希望不同的线程在文件系统上执行保存文件操作(为了不阻塞提取器线程)。这可以用crawler4j来做吗?如果是这样,怎么办?

谢谢

最佳答案

考虑使用Queue ( BlockingQueue 或类似),您将要写入的数据放置在其中,然后由一个或多个工作线程处理(这种方法不是crawler4j特定的)。搜索“生产者消费者”以获得一些一般想法。

关于如何将 Queue 传递给爬虫实例的后续问题,这应该可以解决问题(这只是通过查看source代码,没有使用crawler4j我自己):

final BlockingQueue<Data> queue = …

// use a factory, instead of supplying the crawler type to pass the queue
controller.start(new WebCrawlerFactory<MyCrawler>() {
@Override
public MyCrawler newInstance() throws Exception {
return new MyCrawler(queue);
}
}, numberOfCrawlers);

关于java - crawler4j异步将结果保存到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35393039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com