crawler4j 抓取数据的步骤顺序是怎样的?

What sequence of steps does crawler4j follow to fetch data?

我想学,

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

Generally ,What sequences it follows?

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

谢谢

一般爬虫进程

一个典型的多线程爬虫的流程如下:

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

  2. 爬虫线程然后从 frontier 获取 URLs 并安排它们供以后处理。

  3. 实际处理开始:

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

一般(重点)爬虫架构

除了 crawler4j 的实施细节外,或多或少 一般 (重点)爬虫架构(在单个 server/pc 上)如下所示:

免责声明:图片是我自己的作品。请参考此 post.

以尊重这一点