上午说的那个方法经过试验是不起作用的。
按照上面说的配置后开始抓取网页,发现还是单线程在ACTIVE,查看了order.xml发现还是HostNamesQueueAssignmentPolicy。(后来我才知道原来是因为我是用base one existing job创建JOB的,这样对于setting中没有提供设定的属性会继承下来,由于QUEUEASSIGNMENTPOLICY这个属性在setting中没有提供配置,所以就继承了那个existing job上的配置)看来文明的是不行了,我觉定用粗鲁的方法,没错就是该HostNamesQueueAssignmentPolicy这个类的getClassKey这个方法,结果运行确实快极了,基本上达到了我这的带宽上限。
后来发现大概抓了300多网页后就开始不抓了,我一开始觉得是不是网站把我的IP给封了,重新开始一个新的JOB后发现还是下到300多时就停了,郁闷死了,网上有人说是some of your queues have, as their topmost
items, unfetchable URIs. Certain kinds of failed-fetches go into a
slow-timeout retry-cycle, and while a URI is in this cycle, nothing else
from the same queue will be tried. This is a reasonable approach when
all URIs in a queue are subject to the same network failures, but can
cause problems if the queues are mixed, and the deeper URIs would
succeed quickly, but are stuck behind topmost URIs.
过了大概不到半小时,我又惊喜的发现又继续开始抓网页了,速度也相当快,我想应该是重试一段时间还是不能下载就放弃此uri,所以过了一段时间又恢复正常。
经过了一个多小时的下载,下了2千多的网页,理论上应该是至少5千才对,经过观察发现 seed report 抛出了 Domain prerequisite failure 这个异常,有5百多个种子没有下载成功,我在想是不是种子有点多还是怎么回事....
分享到:
相关推荐
2. **多线程处理**:Heritrix使用多线程来并行处理多个URL,提高了抓取效率。这使得它能够在短时间内处理大量网页。 3. **内容处理**:Heritrix不仅仅抓取HTML,还支持各种Web内容类型,如图片、PDF、XML等,并可以...
例如,Heritrix采用多线程设计,每个组件如fetcher、parser和archiver都在自己的线程中运行,以实现高并发性和高效能。此外,源码还可能包含详细的注释,解释了如何配置和扩展Heritrix。 在学习和使用Heritrix时,...
- **多线程处理**:Heritrix支持并发抓取,能有效提高抓取效率。 - **内容处理**:除了抓取网页,Heritrix还可以处理各种类型的内容,如图片、视频、PDF等,且支持多种数据存储格式,如WARC(Web ARChive)。 - **...
它支持多线程抓取,能够根据用户的配置要求高效地抓取网页,并且可以通过插件的形式扩展功能,以适应不同的应用场景。在本研究中,采用Heritrix作为网页爬虫工具。 ##### 2.2 网页信息抽取 网页信息抽取是从抓取的...
- **ToeThread和ToePool**:分别表示单个抓取线程和线程池,用于并发处理多个URL的抓取任务。 - **Processors**:一系列处理单元,如PreProcessor(预处理器)、Fetcher(抓取器)、Extractor(提取器)、Writer...
6. 扩展性:Lucene可以与其他系统集成,如Spring、Hibernate等,支持分布式搜索和多线程处理。 Heritrix则是一个网络爬虫工具,用于抓取互联网上的网页以便进行进一步的分析和索引。Heritrix提供了强大的配置能力,...
此外,Heritrix还提供了丰富的配置选项,例如设定最大下载字节数、最大下载文档数量、最大下载时间等,以及调整工作线程的数量和带宽使用上限等。 ### 结论 网络爬虫技术对于构建高效的信息检索系统至关重要。...
通过对爬虫算法的优化以及多线程技术的应用,实现了爬取速度的显著提升。此外,还测试了最大线程数与爬取效率之间的关系,以找到最佳配置方案。 4. **索引与检索机制的改进**:为了提高搜索速度及准确性,本研究还...