返回

用 Node.js 写一个简单的爬虫

前端

前言

爬虫是一种用于从网站和其他在线资源中提取数据的自动化工具。它们通常用于抓取产品信息、新闻文章和其他类型的数据。

有很多不同的爬虫工具可供选择,但对于初学者来说,Node.js 和 TypeScript 是不错的选择。 Node.js 是一种流行的 JavaScript 运行时,而 TypeScript 是 JavaScript 的一种强类型语言。

先决条件

在开始之前,您需要确保您已经安装了以下软件:

  • Node.js
  • TypeScript
  • Superagent
  • Cheerio

您可以使用以下命令安装这些软件:

npm install -g nodejs
npm install -g typescript
npm install superagent
npm install cheerio

创建一个新的 Node.js 项目

首先,您需要创建一个新的 Node.js 项目。为此,请打开终端并运行以下命令:

mkdir my-crawler
cd my-crawler
npm init -y

这将创建一个名为 my-crawler 的新目录并初始化一个新的 Node.js 项目。

创建一个 TypeScript 文件

接下来,您需要创建一个 TypeScript 文件。为此,请在 my-crawler 目录中创建一个名为 index.ts 的文件。

导入所需的库

index.ts 文件中,您需要导入所需的库。为此,请添加以下行:

import * as superagent from 'superagent';
import * as cheerio from 'cheerio';

定义您的爬虫函数

接下来,您需要定义您的爬虫函数。为此,请添加以下代码:

async function crawl() {
  // Make a GET request to the URL
  const response = await superagent.get('https://example.com');

  // Parse the HTML response
  const $ = cheerio.load(response.text);

  // Extract the data you want
  const data = [];

  $('body').find('p').each((i, el) => {
    data.push($(el).text());
  });

  // Return the data
  return data;
}

此函数将执行以下操作:

  1. 向 URL 发出 GET 请求。
  2. 解析 HTML 响应。
  3. 提取您想要的数据。
  4. 返回数据。

调用您的爬虫函数

最后,您需要调用您的爬虫函数。为此,请添加以下行:

crawl().then((data) => {
  console.log(data);
});

此代码将调用 crawl() 函数并将在控制台中打印返回的数据。

运行您的爬虫

要运行您的爬虫,请在终端中运行以下命令:

node index.ts

这将运行您的爬虫并将在控制台中打印返回的数据。

结论

这就是使用 Node.js 和 TypeScript 编写简单爬虫的方法。您可以使用此代码作为起点来构建更复杂的爬虫。