crawler4j遵循什么步骤来获取数据?

时间:2018-11-17 13:31:22

标签: java web-crawler crawler4j

我想学习,

  1. rawler4j如何工作?
  2. 它是否先获取网页然后下载其内容并提取出来?
  3. .db和.cvs文件及其结构如何?
  

通常,它遵循什么顺序?

请,我想要一个描述性的内容

谢谢

1 个答案:

答案 0 :(得分:2)

常规抓取程序

典型的多线程搜寻器的过程如下:

  1. 我们有一个队列数据结构,称为frontier。新发现的URL(或起点,所谓的种子)将添加到此数据结构中。另外,为每个URL分配一个唯一的ID,以确定先前是否访问过给定的URL。

  2. 然后,
  3. 搜寻器线程从frontier获取URL,并计划它们以供以后处理。

  4. 实际处理开始:

    • 确定并解析给定URL的robots.txt,以遵守排除标准并成为礼貌的网络爬虫(可配置)
    • 接下来,该线程将检查是否礼貌,即等待再次访问同一URL主机之前的时间。
    • 搜寻器访问实际的URL,然后下载内容(实际上可以是所有内容)
    • 如果我们具有HTML内容,则将解析此内容,并提取潜在的新URL并将其添加到边界(在crawler4j中,可以通过shouldVisit(...)进行控制)。
  5. 重复整个过程,直到没有新的URL添加到frontier

常规(重点)抓取器体系结构

除了crawler4j的实现细节外,(在单个服务器/ PC上)或多或少的通用(重点)搜寻器体系结构看起来像这样:

basic crawler architecture

免责声明:图像是我自己的作品。请通过参考这篇文章来尊重这一点。