[Nodejs] APIを利用せずにWEBサービスを利用したい。 #2「URLからページ内のリンク一覧を取得」

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

WEBページクローラーの基盤構築を考えていた時に、nodejsを利用するのは最近のトレンドなので、とりあえず波に乗ってみたいと思います。

ただ、今回はクローラーの基本として、単一ページのリンク一覧を取得する事を目的とします。

構成

bootstrapをベースに簡単なフレームワークを作ってますが、静的ページでも動作します。
nodejsのクロール用プログラムと、ページからnodejsプログラムにアクセスするプログラムの2種類用意しました。

[nodejs]getSitemap.js

nodejsにアクセスする為のページ側のJS

HTMLソースなどは、サンプルページからコピペして試してみてください。

サンプル

http://ideacompo.com/tools/crawler/?mode=sitemap

スクリーンショット 2015-12-12 17.02.12

使い方

一番上の欄にURLを入力すると、そのURLのページからリンク一覧を取得します。
URLはできるだけroot階層を選択してください。
URLの前方一致でmatchするものを一覧取得するようにしてます。
※別ドメインのリンクを無作為に取得しないようにする施策。
「MAX」欄は、取得するURLの個数上限数です。ポータルサイトなどの場合のアクセス制限防止対応の為につけていますが今のところは意味が無い機能です。
【注意】
rootにdocument-rootのファイルがセットされていない場合は現在動作しません。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です