キジです。こんばんわ。
今回は、TypeScriptでスクレイピングをやってみたいと思います。
TypeScriptの環境構築は以下で解説してます。先に見ていただけるとスムーズに進められると思います。
TypeScirptでスクレイピングをするには、「Puppeteer」というモジュールを使います。
今回はPuppeteerを使うための環境構築、及びプログラムでスクリーンショットを取るまでを実施します。
環境
$ node -v
v14.17.3
モジュールのインストール
$ npm install puppeteer @types/puppeteer puppeteer-core
tsconfig.jsonの設定
tsconfig.json
"types": ["node", "jest", "puppeteer"], ・・・ puppeteerを追加
ソースコード
index.ts
const puppeteer = require('puppeteer');
(async () => {
// browserを立ち上げる
const browser = await puppeteer.launch();
// page(tab)を生成する
const page = await browser.newPage();
// 特定のURLへ移動する。
await page.goto('https://google.com');
// スクリーンショット作成
await page.screenshot({ path: 'output/sample.png' });
// browserを閉じる
await browser.close();
})();
実行と結果
$ npm run start

まとめ
はい。プログラムで、Googleの検索画面を表示して、スクリーンショットを取るところまでやりました。
しかし、Puppeteerはもっとたくさんのことをすることができます。
入力欄に文字を入力したり、特定の値(例えば、株価など)を取得したりすることができます。
別記事でPuppeteerのもっと踏み込んだ使い方を解説したいと思います。
コメント
楽しく拝見させていただいております。
『第1回 TypeScript×Puppeteerで始めるスクレイピング – 環境構築』の『tsconfig.jsonの設定』のセクションにおいて、「puppeteer」が「puppetter」となっておりました。気になりましたので報告させていただきました。これからも良い記事を楽しみにしています。
ご高覧、ありがとうございます。
また、指摘について、ありがとうございました。修正いたします!