
「イントロダクション」についての前置きです。
ここでは、本コースのおおまかなロードマップを示します。Node.jsの導入やコマンドの利用、モジュールの利用や非同期処理、ダウンロードやパース、ブラウザの自動操縦などについて学んでいきます。
ここでは、Node.jsとはどういったものなのか、また歴史などを説明します。そして、Node.jsをダウンロードしてインストールします。
前回の続きです。
ここでは、コード エディタのVisal Studio Codeの導入について説明します。また、簡単な利用方法を紹介します。
ここでは、Node.jsインストール後の環境確認をおこないます。また、Windows特有の問題に対処する方法を紹介します。
ここでは、nodeコマンドを利用して、JavaScriptのプログラムを実行する方法を紹介します。
ここでは、npmコマンドを利用して、プロジェクトを作成したり、パッケージをインストールしたりする方法を紹介します。
ここでは、サンプルプログラムのソースコードをダウンロードします。
Node.jsやPuppeteerのバージョンが上がったことによる差分情報をまとめた文書です。
「プロジェクトの作成」についての前置きです。
こでは、npmを利用してプロジェクトを作成します。作成する時の注意点なども解説します。
ここでは、Node.jsのプロジェクト用に、プログラムを実際に書いてみます。非常にシンプルな、メッセージを出力するだけのプログラムを作ります。
ここでは、作成したプログラムを、nodeコマンドで実行します。プロジェクト内のプログラムが読み込まれて、結果が出力されます。
「ネットのファイルのダウンロード」についての前置きです。
ここでは、ネットのファイルをダウンロードするモジュールについていくつか紹介します。また、その中からnode-fetchを選びます。
ここでは、ネットからテキスト ファイルを取得して、ローカルに保存するプログラムを作成する方法を学びます。
ここでは、ネットからバイナリ ファイルを取得して、ローカルに保存するプログラムを作成する方法を学びます。
ここでは、このセクションのコードを理解するために必要な知識についてリストアップします。これからの学習の道標になります。
「requireとimport」についての前置きです。
ここでは、requireを利用したモジュールの読み込みについて学びます。モジュール名での読み込みや、相対パスや絶対パスでの読み込みなど、必要な知識を習得します。
ここでは、requireでのモジュールの検索が、どのようにおこなわれるのかを学びます。
ここでは、importを利用するための各種の準備について解説します。package.jsonの修正や、ファイルの拡張子の変更について学びます。
ここでは、importを利用した外部ファイルの読み込みについて学びます。デフォルト エクスポートの有無によって、読み込み方が変わります。
ここでは、requireとimportの違いについて学びます。単なる置き換えではないことを把握します。
「Path」についての前置きです。
ここでは、コア モジュールPathについて、ドキュメントを確認します。
ここでは、Pathモジュールを利用したパスの解決について学びます。カレント ディレクトリからの解決、複数パスの合成、絶対パスを利用した合成などを確かめます。また、パスのセパレーターについても触れます。
ここでは、Pathモジュールを利用したパスの分解について学びます。ディレクトリ部分、拡張子、ファイル名などの取り出し方法を習得します。
「Promise」についての前置きです。
ここでは、非同期処理の概要と、ネストした場合の問題を説明します。Promiseの必要性について把握します。
ここでは、非同期処理を簡便に書くための仕様であるPromise、then、resoveについて学びます。ネストしない形への移行を体験します。
ここでは、Promiseの処理を、関数ベースで書き換えます。実際のPromiseの処理では、Promiseを返す関数を使ってプログラムを書くことが多いためです。
ここでは、Promiseの処理を見やすく書けるasync awaitについて学びます。非同期処理をすっきりとしたコードで書けるようになります。
ここでは、Promiseの処理が失敗した時に分岐する処理の書き方について学びます。
ここでは、Promiseの処理が失敗した時に、キャッチする書き方について学びます。
ここでは、Promiseの処理が失敗した時に、async awaitの書き方でキャッチする方法を学びます。
ここでは、Promiseの処理が全て終わったあとに進行する処理の書き方を学びます。
「File System」についての前置きです。
ここでは、コア モジュールFile Systemについて、ドキュメントを確認します。また、fsモジュールの3つの系統について把握します。
前回の続きです。
ここでは、ファイルの存在確認の方法について学びます。いくつか方法があるので、それぞれについて確認します。
ここでは、テキスト ファイルの読み書きについて学びます。いくつか方法があるので、その中で簡単な方法を利用します。
ここでは、バイナリ ファイルの読み書きについて学びます。いくつか方法があるので、その中で簡単な方法を利用します。
「パース」についての前置きです。
ここでは、HTMLを解析するパース処理をおこなうモジュールをいくつか紹介します。また。その中からjsdomを選択して取り上げます。jsdomの基本的な使い方を学びます。
ここでは、基本的なセレクターの使い方を学びます。タグ、ID、クラス、属性などの要素の選択方法を知ります。
ここでは、セレクターを利用して要素を選択する方法を学びます。document.querySelectorと、document.querySelectorAllの使い方を見ていきます。
ここでは、選択した要素からの情報取得を学びます。外部HTMLや内部HTML、文字列情報や、プロパティの値の取得方法を把握します。
今後のコードを読み解くための準備です。ここでは、関数の処理を短く書くアロー関数について学びます。そして、アロー関数の様々な書き方を習得します。
今後のコードを読み解くための準備です。ここでは、DOMの処理によく利用される配列の反復メソッドとして、forEach、map、filterについて学びます。
前回の続きです。
ここでは、実際のHTMLファイルから、リンクや、画像のURLなどを取得するサンプルを確認します。インターネットから情報を入手する作業をおこないます。
前回の続きです。
「Puppeteerによる情報取得」についての前置きです。
ここでは、Puppeteerが何なのかを確かめ、導入方法を知ります。また、Puppeteerの問題についても解説します。
「ブラウザーのインストール」についての追記情報です。
ここでは、巨大なファイル サイズの問題を解決する方法を示します。サンプルを実行するための準備方法を示します。
ここでは、Puppeteerの起動と、起動オプションについて学びます。ヘッドレスと、ノン ヘッドレスの違いを把握します。
「最新の起動方法」についての追記情報です。
ここでは、Puppeteerを利用してブラウザを操作して、ブラウザでコンソール出力した結果を受け取ります。
ここでは、選択した要素から直接情報を取得する方法を学びます。また、選択した要素に対して処理を実行する方法を学びます。
ここでは、これまで学んだことを利用してWebページを開いて情報を取得する、サンプル プログラムを学んでいきます。
前回の続きです。
ここでは、画像のスクリーンショットを撮る方法や、PDFでスクリーンショットを撮る方法を学びます。
「Puppeteerによるフォーム操作」についての前置きです。
ここでは、Puppeteerで自動操縦をおこなうPageオブジェクトのドキュメントを確認します。また、自動操縦の問題についても触れます。
ここでは、Puppeteerで自動操縦をおこなう際の待機処理の必要性と、その方法について学びます。
「待機方法」についての追記情報です。
前回の続きです。
ここでは、Puppeteerを使っておこなう、文字入力、クリック、リストの選択などについて学びます。
ここでは、実際のWebページで、フォームを利用して、自動操縦するサンプル プログラムを学びます。
このコースでは、Node.jsを使い、JavaScriptでWebスクレイピングをする方法を学びます。
(2023年12月に、最新の仕様の情報を追加しました)
Node.jsの環境構築から始まり、nodeコマンドやnpmコマンドといった、CLI環境での操作方法を身に付けます。
また、Node.js向けのプログラムの書き方や、モジュールの利用の仕方、自作モジュールの作り方も学びます。
そして、「node-fetch」によるネット上のファイルのダウンロード、「jsdom」によるHTMLパース、それらを利用したWebスクレイピングを身に付けます。
また、「Puppeteer」を利用したWebブラウザの自動操縦を利用したWebスクレイピングも身に付けます。
コースで紹介するコードは、サンプルコードとして、全てダウンロードできます。
依存するモジュールは全て紹介しており、npmコマンドを利用して、別のプロジェクトでもインストールできます。
このコースを習得すれば、次のような事ができるようになります。
Node.jsを利用したプログラムの開発。
ファイルのダウンロードとHTMLのパースによるWebスクレイピング。
Puppeteerを利用したブラウザ自動操縦によるWebスクレイピング。
‥‥‥‥‥‥‥‥‥‥
このコースは、以下のように進みます。
● 第1章 イントロダクション
● 第2章 プロジェクトの作成
● 第3章 ネットのファイルのダウンロード
● 第4章 requireとimport
● 第5章 Path
● 第6章 Promise
● 第7章 File System
● 第8章 パース
● 第9章 Puppeteerによる情報取得
● 第10章 Puppeteerによるフォーム操作
● 第11章 Puppeteerによるダウンロード
● 第12章 自作モジュール
● 終わりに
‥‥‥‥‥‥‥‥‥‥