Tag: scraping crawler4j

提高crawler4j的性能

我需要编写一个webscraper,它可以擦除大约1M个网站并将其标题,描述和关键字保存到一个大文件中(包含已删除的URL和相关的单词)。 应从大文件中提取URL。 我在1M URL文件上运行了Crawler4j,并使用以下命令启动了webcrawler: controller.start(MyCrawler.class, 20) 。 20是任意数。 每个爬网程序将生成的单词传递到阻塞队列,以便单个线程将这些单词和URL写入文件。 我使用了1个编写器线程,以便不在文件上同步。 我将爬网深度设置为0(我只需要抓取我的种子列表) 运行这个晚上后,我只下载了大约200K的URL。 我正在使用有线连接在一台机器上运行刮刀。 由于大多数URL都是不同的主机,我不认为礼貌参数在这里有任何重要性。 编辑 我尝试使用非阻塞启动启动Crawler4j,但它刚被阻止。 我的Crawler4j版本是:4.2。 这是我正在使用的代码: CrawlConfig config = new CrawlConfig(); List headers = Arrays.asList( new BasicHeader(“Accept”, “text/html,text/xml”), new BasicHeader(“Accept-Language”, “en-gb, en-us, en-uk”) ); config.setDefaultHeaders(headers); config.setCrawlStorageFolder(crawlStorageFolder); config.setMaxDepthOfCrawling(0); config.setUserAgentString(“testcrawl”); config.setIncludeBinaryContentInCrawling(false); config.setPolitenessDelay(10); PageFetcher pageFetcher = new PageFetcher(config); RobotstxtConfig robotstxtConfig = new RobotstxtConfig(); RobotstxtServer robotstxtServer = […]