情報アイランドNode.js情報アイランド「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。関連WebページをスクレイピングするにはWebサイトからWebページのテキストデータを取得し、取得したテキストデータをHTMLドキュメントとしてDOMを構築し、所望のデータを取得しなければなりません。これには下のようなモジュールを利用する方法があります。http(s)requestcheerio-httpcliこの記事ではhttp(s)モジュールを利用する方法を取り上げます。http(s)モジュールを使ってWebサイトからテキストデータを取得する方法に関しては下の記事を参照してください。Webサイトからテキストデータを取得するには?http(s)を使ってWebサイトからテキストデータを取得するWebサイトからデータを取得するにはデータを取得したいURLに対してHTTP(S)のGETリクエストを送信しなければなりません。これには下のようなモジュールを利用する方法があります。この記事ではhttp(s)モジュールを利用する方法を取り上げます。テキストデータの取得DOMを使用するには下のようなモジュールを利用する方法があります。jsdomcheerioDOMを使用する方法に関しては下の記事を参照してください。DOMを使用するには?jsdomを使ってDOMを使用するDOMを使用するには下のようなモジュールを利用する方法があります。この記事ではjsdomモジュールを利用する方法を取り上げます。DOMを作成するにはjsdom.jsdom関数を呼び出します。require('jsdomDOMを使用するには?cheerioを使ってDOMを使用するDOMを使用するには下のようなモジュールを利用する方法があります。この記事ではcheerioモジュールを利用する方法を取り上げます。DOMを作成するにはcheerio.load関数を使用します。require('これらを組み合わせることにより、Webページをスクレイピングすることができます。サンプルコード1cheerioモジュールを利用する例です。3つ目のコマンドライン引数として与えられたURLからテキストデータを取得し、取得したテキストデータをHTMLドキュメントとしてDOMを構築し、HTMLドキュメントの全てのリンクのURLを取得し、標準出力に出力します。URLに応じてhttpモジュールとhttpsモジュールの何れか適切なものを使用します。取得したデータの文字コードがiconv-liteモジュールがサポートしていないものである場合にはエラーとします。ストリームの処理のためにconcatStream関数とpump関数を使用しています。concatStream関数とは?ストリームの全てのデータを纏めて取得するストリームの全てのデータを纏めて取得するにはconcat-streamモジュールのconcatStream関数を使用します。ストリームとは?ストリームの使い方ストリームとはpump関数とは?ストリームの接続(pipe)と同時にエラー処理を追加するreadable.pipe関数を使用してストリームを接続した場合には単に接続が行われるだけでエラー処理は自分で行わなければなりません。concat-streamでインストールします。mimelibでインストールします。jschardetでインストールします。iconv-liteでインストールします。cheerioでインストールします。pumpでインストールします。http://www.hai-furi.com//news/?article_id=38260/news///news//story//staff-cast//onair//character//ships//music//bd-dvd//radio//goods//movie//app//special/https://twitter.com/hai_furihttps://youtube.com/watch?v=-80xmmuMIxk%3Frel%3D0%26autoplay%3D1https://youtube.com/watch?v=-80xmmuMIxk%3Frel%3D0%26autoplay%3D0bd-dvd/http://live.nicovideo.jp/gate/lv259299719/special/report_kurama//music/charasong/index.html/app//special/present_02//onair/./news/?article_id=38260./news/?article_id=38248./news/?article_id=38236./news/?article_id=38251./news/?article_id=38237https://twitter.com/hai_furi//news//story//staff-cast//onair//character//ships//music//bd-dvd//radio//goods//movie//app//special/https://twitter.com/hai_furihttp://twitter.com/share?url=http%3A%2F%2Fwww.hai-furi.com%2F&text=TV%E3%82%A2%E3%83%8B%E3%83%A1%E3%80%8C%E3%83%8F%E3%82%A4%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB%E3%83%BB%E3%83%95%E3%83%AA%E3%83%BC%E3%83%88%E3%80%8D%E5%85%AC%E5%BC%8F%E3%82%B5%E3%82%A4%E3%83%88&hashtags=%E3%81%AF%E3%81%84%E3%81%B5%E3%82%8Ahttp://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.hai-furi.com%2Fhttp://www.aniplex.co.jp/support/user.htmlhttp://www.aniplex.co.jp/help/site.htmlhttp://www.aniplex.co.jp/help/privacy.htmlhttp://www.aniplex.co.jp//http://www.mediafactory.co.jp/comic-alive/http://www.aniplex.co.jp/関連Node.jsに関する記事一覧pizyumiプログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。クライアント・サーバ編SVG入門Node.jsでhttp(s)を使ってWebページをスクレイピングする「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。