💻️
スクレイピングとサーバー実行のサンプルコード(Node.js)

Node.jsでスクレイピングとWebサーバーを開発する手順です。

開発の手順

環境構築

# プロジェクトのディレクトリ作成
$ mkdir scraping-server
$ cd scraping-server

# パッケージのインストール
$ npm init
$ npm install express axios cheerio

インストールしている外部パッケージは以下の3つです。

Webサーバーの起動

まず以下の内容で main.js を作成します。

const express = require("express");

const app = express();

app.get("/", async function (req, res, next) {
  res.json("test");
});

app.listen(3000);

その後、以下コマンドを実行して http://localhost:3000 にブラウザでアクセスすると、”test” の文字が表示されます。

$ node main.js

これで、Webサーバーの起動ができました。

スクレイピングで取得した情報を表示する main.js に以下の実装を追加します。

const express = require("express");
/* 外部パッケージの追加 */
const axios = require("axios");
const cheerio = require("cheerio");

/* この関数を追加 */
async function getItems() {
  // プログラミング言語一覧記事を取得
  const url = "https://en.wikipedia.org/wiki/List_of_programming_languages";
  const res = await axios.get(url);

  // HTMLをパース
  $ = cheerio.load(res.data);
  let items = [];
  $(".div-col li").each((i, elem) => {
    items.push($(elem).text());
  });

  return items;
}

const app = express();

app.get("/", async function (req, res, next) {
  /* 追加した関数を使用する */
  let items = await getItems();
  res.json(items);
});

app.listen(3000);

追加実装の後、 $ node main.js を再実行して http://localhost:3000 にアクセスすると、 Wikipediaのページから取得したプログラミング言語一覧の文字が表示されるようになります。