Node.js 中的 Crawler

2025年2月27日 | 阅读 5 分钟

网络爬虫是一个自动浏览互联网的程序,它会获取给定网站 URL 的链接和内容。它也被称为蜘蛛或机器人,在收集各种网站数据方面非常有用。它还用于索引网站以供搜索引擎使用、数据挖掘等。这些网络爬虫从访问一个种子 URL 开始,该 URL 作为爬取过程的起点。根据使用情况,它们可以很简单也可以很复杂。网络爬虫也可能用于恶意目的,例如从网站抓取数据或进行 DDoS 攻击。

网络爬虫的关键点

  • 起点是种子 URL。
  • 从网站获取内容。
  • 解析内容。
  • 提取链接并获取后续链接。
  • 存储提取到的数据。

使用 Node.js 创建网络爬虫应用程序

应用程序的目录结构

Crawler in Node.js

步骤 1:首先,我们必须创建文件夹并命名。此处命名为'web_crawler',然后进入该目录。

步骤 2:接下来,我们需要使用命令 'npm init' 创建一个 package.json 文件,并设置应用程序的作者和起始文件等配置。

步骤 3:之后,使用以下命令安装必要的包。

  • 此处,axios 包用于向服务器发送请求并获取服务器的响应。它支持请求拦截、请求取消和自动 JSON 转换。
  • Body parser 用作 express 的中间件,它可以将请求解析为不同的格式。它主要用于处理 POST 请求数据。
  • Cheerio 用于实现核心 jQuery 功能,它专为服务器端操作 HTML 和 XML 文档而设计。
  • EJS 用于在 HTML 模板中嵌入 JavaScript 代码。
  • Express 是一个 Node.js Web 应用程序框架。

步骤 4:之后,在同一目录中创建两个文件并命名。一个用于服务器,另一个用于爬虫 JavaScript 文件。因此,它们都命名为 'server.js' 和 'crawler.js'。

步骤 5:最后,在 server.js 文件中写入以下代码。

步骤 6:现在,在 crawler.js 中写入以下代码。

步骤 7:之后,为 html 文件和 ejs 文件创建另一个名为 'views' 的文件夹。在该文件夹中,创建一个名为 'index.html' 的文件,用于创建一个表单,用户需要在其中输入网站的 URL 和最大深度。'results.ejs' 文件用于显示结果,其中包含一个表格,列出网站上的链接和数据。

步骤 8:现在在 'index.html' 文件中使用以下代码。

步骤 9:之后,在 'results.ejs' 文件中写入以下代码。

步骤 10:现在,创建一个名为 'public' 的文件夹。在该 public 文件夹中,创建一个用于样式设置的文件,并将其命名为 'styles.css',然后使用以下代码对页面进行样式设置。

步骤 11:要运行应用程序,请使用命令 'node server.js'。

步骤 12:最后,访问 URL 'https://:3000/',输入网站 URL。同时输入最大深度,然后点击 Crawl 按钮,这将带您进入结果页面,其中显示了网站上的链接和数据。

用户界面

输入网站 URL 和最大深度的表单

Crawler in Node.js

结果页面

Crawler in Node.js

结论

总之,本文帮助我们了解了网络爬虫及其优势。它还帮助我们使用 node.js、HTML 和嵌入式 JavaScript 创建自己的网络爬虫。