ラベル 今日の作業 の投稿を表示しています。 すべての投稿を表示
ラベル 今日の作業 の投稿を表示しています。 すべての投稿を表示

2015年12月8日火曜日

PHP 7.0.0が正式にリリースされたのでインストールしてみる

このエントリーをはてなブックマークに追加
PHP 7.0.0が2015/12/3に正式リリースされたのでインストールだけやってみた。フレームワークとか何が対応済みかとかまでは調べていない。

PHP7.0.0の公式リリースノートによれば以下のような変更が実装されたという感じ。

Improved performance: PHP 7 is up to twice as fast as PHP 5.6
ーーPHP5.6に比べて2倍速くなった
Significantly reduced memory usage
ーーメモリ使用量が減った
Abstract Syntax Tree
ーー抽象構文木の採用
Consistent 64-bit support
ーー本格的な64bitサポート
Improved Exception hierarchy
ーー例外階層の改善
Many fatal errors converted to Exceptions
ーー多くの致命的なエラーを例外へ
Secure random number generator
ーーセキュアな乱数生成
Removed old and unsupported SAPIs and extensions
ーー古くてサポートされなくなったSAPIと拡張の削除
The null coalescing operator (??)
ーーnull 合体演算子(??)の実装
Return and Scalar Type Declarations
ーー関数のretrun値とスカラー型の宣言
Anonymous Classes
ーー匿名クラス
Zero cost asserts
ーー低コスト化


ちなみに試す同一環境には既にPHP5.6.15がインストールされているので共存できる環境を目指してみる。OSはCentOS7、Apacheは2.4.17がインストールされている環境。

とりあえずインストール先のprefixは/usr/local/php7としてインストールするようにすれば既存のものには影響がない"はず"

# ./configure --enable-mbstring=all --enable-mbregex --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl --with-zlib --with-pdo-mysql=/usr/local/mysql --prefix=/usr/local/php7
# make
# make install


ここまで行うとhttpd.confに
LoadModule php7_module modules/libphp7.so
が追加されている。

前のPHP5のモジュール読み込み部分に関してはコメントアウトしておく
#LoadModule php5_module modules/libphp5.so

一応、php.iniを新しいのに置き換えてやる。

# mv /usr/local/lib/php.ini /usr/local/lib/php-5.ini.20151208
# cp -ipr /usr/local/src/php-7.0.0/php.ini-development /usr/local/lib/php.ini

Apacheを再起動してphpinfo()で確認してみる。

# systemctl start httpd.service


手順的には今までのPHP5.6系とほとんど変わっていなかった。

今日の作業

目標みつからず全然遊んでました。。。

2015年11月24日火曜日

DockerでCentOSのコンテナを作る

このエントリーをはてなブックマークに追加

CentOSのコンテナを作成したいと思うので、docker searchコマンドで確認する。

$ docker search centos
NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                                      The official build of CentOS.                   1652      [OK]
jdeathe/centos-ssh                          CentOS-6 6.6 x86_64 / EPEL/IUS Repos / Ope...   11                   [OK]
blalor/centos                               Bare-bones base CentOS 6.5 image                9                    [OK]
million12/centos-supervisor・・・
:
:
:
見つけた一番上のOffcialイメージをダウンロードする。
$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
fa5be2806d4c: Pull complete
0cd86ce0a197: Pull complete
e9407f1d4b65: Pull complete
c9853740aa05: Pull complete
e9fa5d3a0d0e: Pull complete
Digest: sha256:c96eeb93f2590858b9e1396e808d817fa0ba4076c68b59395445cb957b524408
Status: Downloaded newer image for centos:latest
イメージができているか確認する。
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              e9fa5d3a0d0e        5 weeks ago         172.3 MB
起動して確認する。
$ docker run -t -i centos:latest /bin/bash
[root@25fc2734ad99 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@25fc2734ad99 /]# whoami
root
[root@25fc2734ad99 /]# systemctl list-unit-files
UNIT FILE                            STATE
proc-sys-fs-binfmt_misc.automount    static
dev-hugepages.mount                  masked
dev-mqueue.mount                     static
proc-sys-fs-binfmt_misc.mount        static
:
:
終わって、コンテナ自体も終了しているか確認する。
[root@25fc2734ad99 /]# exit
exit
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
25fc2734ad99        centos:latest       "/bin/bash"         11 minutes ago      Exited (0) 4 seconds ago                       jovial_meninsky

今日の作業

大阪へ戻ります。

2015年11月23日月曜日

久しぶりにMacでDockerを動かそうとした

このエントリーをはてなブックマークに追加

最近、あまり用事がなかったので無かったので、MacにインストールしたDocker環境をほったらかしにしてたけど、久しぶりに触ろうかと思ったらDockerのバージョンアップと共にBoot2DockerからDocker Toolboxに変更になっていた。

以下、メモ。以前インストールしていたBoot2Dockerはアンインストールしていないけど。。。

ちなみにインストール手順はDockerの公式ドキュメントである"Get Started with Docker for Mac OS X"を参考にした

Docker Toolboxのページから"Download (Mac)"をクリックしダウンロードする。

こんな感じでインストーラが動くので指示に従って進める。


iTermで動かすとこんな感じで起動されるので、ターミナルを眺める。

Creating Machine default...
Creating CA: /Users/xxx/.docker/machine/certs/ca.pem
Creating client certificate: /Users/xxx/.docker/machine/certs/cert.pem
Running pre-create checks...
Creating machine...
(default) OUT | Creating VirtualBox VM...
(default) OUT | Creating SSH key...
(default) OUT | Starting VirtualBox VM...
(default) OUT | Starting VM...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning created instance...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
To see how to connect Docker to this machine, run: /usr/local/bin/docker-machine env default
Setting environment variables for machine default...


## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

はい終了。


dockerコマンドで確認する。

# docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64

VirtualBoxの画面を見ると以前のBoot2Dockerのvmはそのまま、新しいDocker Machineは"default"で作成されている。昔のは捨ててしまおう。


以前の boot2dockerコマンドはすべて docker-machineコマンドに置き換えられている。

こんな感じ。

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
default   *        virtualbox   Running   tcp://192.168.99.100:2376

$ docker-machine status default
Running

$ docker-machine stop default

$ docker-machine start default
(default) OUT | Starting VM...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/fumio/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"

今日の作業

大阪から東京への移動と私用でほぼ終了。。。

2015年11月20日金曜日

CasperJSでログインしてみよう

このエントリーをはてなブックマークに追加

今回はCasperJSを使って、よく使う朝日新聞デジタルの無料会員IDでログインをしてみる。

ログイン部分のソースを確認して,form名やテキストボックスの名前を取得する。
var user = "ユーザ名";
var pass = "パスワード";

//CasperJSオブジェクトの生成
var casper = require('casper').create();

// これ以降、run()メソッドまでの前の処理がrun()実行時に行われる
casper.start();

// ログインページへ接続
casper.open('https://digital.asahi.com/login/');

// ログインする
casper.then(function(){
// フォームを特定し、ユーザ・パスワードを入力する。
 this.fill('form[action="login.html"]', {
  login_id: user,
  login_password: pass
 }, true);
});

// ログイン後のキャプチャをとる
casper.then(function(){
 casper.capture("asahi.png");
});

casper.run();

ログインできた。


結構、なんでもサイトをいじれて便利。いろんなツールとの組み合わせでテストなどにも使えそうだ。

今日の作業

3連休、留守にします。

2015年11月18日水曜日

CasperJSでFlickrの検索結果を取得する

このエントリーをはてなブックマークに追加
先ほどの画面キャプチャの応用というか、横展開というか。

// CasperJSオブジェクトの生成
var casper = require('casper').create();

// これ以降、run()メソッドまでの前の処理がrun()実行時に行われる
casper.start();

// 画面サイズを設定
casper.viewport(1400, 800);

// UserAgent設定
casper.userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36");

// 検索ワード
var text = encodeURIComponent("大阪");

// サイトへ接続
casper.open('https://www.flickr.com/search/?text=' + text);

// サイト接続後、capture取得
casper.then(function(){
 casper.capture("flickr-image.png",{top:0,left:0,width:1400,height:800});
});

// 処理開始
casper.run();

できたできた。


ユーザエージェントと画面サイズの変更してあげれば、iPhoneとかスマートフォンのふりをすることも可能。


今日の作業

触りで終わってしまった。

2015年11月17日火曜日

CasperJSで画面キャプチャを撮る

このエントリーをはてなブックマークに追加
CasperJSで画面キャプチャも取れるらしい。マニュアルとか作る時超便利やんなんか思いながらやってみる。

// CasperJSオブジェクトの生成
var casper = require('casper').create();

// これ以降、run()メソッドまでの前の処理がrun()実行時に行われる
casper.start();

// サイトへ接続
casper.open('http://www.google.co.jp');
// サイト接続後、capture取得
casper.then(function(){
 casper.capture("screenShot.png");
});

// 処理開始
casper.run();

キャプチャを開くと文字がない。

なんでなんだろう。。。

今日の作業

文字が出ないのが残った。。。

2015年11月16日月曜日

PhantomJSとCasperJS

このエントリーをはてなブックマークに追加

世の中にはいろいろ便利なJavaScriptのライブラリがあるものです。今回はコマンドラインから利用できるPhantomJSと、そのPhantomJSを便利に使うことができるようになるCasperJSを使ってみる。

まずはインストールから。npmを使う。
# /usr/local/node/bin/npm install -g phantomjs
/usr/local/src/node-v4.2.2-linux-x64/bin/phantomjs -> /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/bin/phantomjs

> phantomjs@1.9.18 install /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs
> node install.js

Looks like an `npm install -g`; unable to check for already installed version.
Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
Saving to /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2
Receiving...
  [=================================-------] 82% 0.0s
Received 12854K total.
Extracting tar contents (via spawned process)
Removing /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/lib/phantom
Copying extracted folder /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2-extract-1447702852021/phantomjs-1.9.8-linux-x86_64 -> /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
phantomjs@1.9.18 /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs
├── which@1.0.9
├── progress@1.1.8
├── kew@0.4.0
├── adm-zip@0.4.4
├── request-progress@0.3.1 (throttleit@0.0.2)
├── request@2.42.0 (tunnel-agent@0.4.1, forever-agent@0.5.2, aws-sign2@0.5.0, caseless@0.6.0, oauth-sign@0.4.0, stringstream@0.0.5, json-stringify-safe@5.0.1, tough-cookie@2.2.1, mime-types@1.0.2, qs@1.2.2, node-uuid@1.4.7, http-signature@0.10.1, hawk@1.1.1, form-data@0.1.4, bl@0.9.4)
├── npmconf@2.1.1 (ini@1.3.4, inherits@2.0.1, uid-number@0.0.5, semver@4.3.6, once@1.3.2, mkdirp@0.5.1, nopt@3.0.6, config-chain@1.1.9, osenv@0.1.3)
└── fs-extra@0.23.1 (path-is-absolute@1.0.0, jsonfile@2.2.3, graceful-fs@4.1.2, rimraf@2.4.3)
# /usr/local/node/bin/npm install -g casperjs
|
> phantomjs@1.9.18 install /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/node_modules/phantomjs
> node install.js

Looks like an `npm install -g`; unable to check for already installed version.
Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
Saving to /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/node_modules/phantomjs/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2
Receiving...
  [===================================-----] 88% 0.0s
Received 12854K total.
Extracting tar contents (via spawned process)
Removing /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom
Copying extracted folder /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/node_modules/phantomjs/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2-extract-1447702982784/phantomjs-1.9.8-linux-x86_64 -> /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs
/usr/local/src/node-v4.2.2-linux-x64/bin/casperjs -> /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs/bin/casperjs
casperjs@1.1.0-beta3 /usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/casperjs
└── phantomjs@1.9.18 (which@1.0.9, progress@1.1.8, kew@0.4.0, adm-zip@0.4.4, request-progress@0.3.1, npmconf@2.1.1, request@2.42.0, fs-extra@0.23.1)

サイトのタイトルを取ってくる簡単なサンプルを書いて実行してみる。
// 取得するURLを設定
var TARGET_URL = "http://smile-smile-at-smile.blogspot.jp/";

// CasperJSオブジェクトの生成
var casper = require('casper').create();

// 指定のサイトを開く
casper.start(TARGET_URL, function(){
 // サイトタイトルの表示
 this.echo(casper.getTitle());
});

// このrun()メソッドが呼ばれた時点で
// start()メソッドに登録した処理が実行される
casper.run();

実行したら怒られた。
# casperjs getTitle.js
/usr/local/src/node-v4.2.2-linux-x64/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory

fontconfigをインストール。
# yum install fontconfig

再度、実行してみる。
# casperjs getTitle.js
いつも君は僕のPAYDAYを取り上げるんだ

できたじゃん。

今日の作業

OpenCVの画像検出できた時はすごいうれしかった!あとは黙々とパース処理。。。

2015年11月15日日曜日

OpenCV Tutorial(3)〜画像の輪郭検出

このエントリーをはてなブックマークに追加
本当ならガウシアンフィルタにかけてノイズの提言をさせてから、色相の勾配を該当ピクセルの近傍と比較して計算して...ってやらないといけないわけだけど、OpenCVに関しては、関数を一発呼ぶだけでやってくれる。

すげえ。

import cv2
import numpy as np
from matplotlib import pyplot as plt

# グレースケールで読み込み
img = cv2.imread('20120129-00000000-jijp-000-0-view-thumb-450x300-8462.jpg',0)

# 閾値の上限200、下限を100に指定
edges = cv2.Canny(img,100,200)

plt.subplot(121),plt.imshow(img,cmap = 'gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = 'gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])

plt.show()


今日の作業

この辺からだいたい分かっとく必要のあるところと、飛ばしてもいいところを見極めるのが難しくなってきた。そのおかげでか進捗が少ない。。。

2015年11月13日金曜日

OpenCV Tutorial(2)〜画像の平滑化

このエントリーをはてなブックマークに追加
Smoothing Images

画像の平滑化手法(Smoothing Images)に幾つかのやり方があり、それぞれ得意/不得意があるので簡単にでも理解した上で使い分けるのがベター。

大きくはノイズを減らすのが得意なlow-pass filters(LPF)と輪郭をシャープにするhigh-pass filters(HPF)に分けられる。

代表的な種類としてはこんなものがある。
  • 2D Convolution(2次元畳み込み)
  • Averaging(平均)
  • Gaussian Blurring(ガウシアンぼかし)
  • Median Blurring(中央値ぼかし)
  • Bilateral Filtering(バイラテラルフィルタ)
それぞれやってみる。画像は適当なものを取ってきた。

2D Convolution(2次元畳み込み)


import cv2
import numpy as np
from matplotlib import pyplot as plt

# 画像をそのまま読み込む
img = cv2.imread('G-symbol.png')

# すべての要素が浮動小数点1の5×5の行列を作成、平均を出すために25で割る
# このカーネルさえ自作できれば、いろいろなフィルターが自作できる
kernel = np.ones((5,5),np.float32)/25
# kernelをそのまま適用する。ビット深度はそのまま
dst = cv2.filter2D(img,-1,kernel)

# 横に1行で2つならべ、1つ目なので(1, 2, 1)
# subplot(121)はsubplot(1, 2, 1)と同じ
plt.subplot(121),plt.imshow(img),plt.title('Original')
# x,y軸のメモリなし
plt.xticks([]), plt.yticks([])
# 横に1行で2つならべ、2つ目なので(1, 2, 2)
plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
# x,y軸のメモリなし
plt.xticks([]), plt.yticks([])

# 画像表示
plt.show()


Averaging(平均)


import cv2
from matplotlib import pyplot as plt

# 画像をそのまま読み込む
img = cv2.imread('G-symbol.png')

# 平均値ぼかし処理。今回の場合2Dフィルタと同じ処理になる。
blur = cv2.blur(img,(5,5))

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur),plt.title('Blurred')
plt.xticks([]), plt.yticks([])
plt.show()                                                                         


Gaussian Blurring(ガウシアンぼかし)


import cv2
from matplotlib import pyplot as plt

img = cv2.imread('G-symbol.png')

# ガウシアンぼかし(5, 5)は中心からの計算するピクセル範囲
# ガウシアンの場合は自動的に中心に近いほど近傍値としての重みが高くなり平滑化される
blur = cv2.GaussianBlur(img,(5,5),0)

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur),plt.title('Blurred')
plt.xticks([]), plt.yticks([])
plt.show()


Median Blurring(中央値ぼかし)


import cv2
from matplotlib import pyplot as plt

img = cv2.imread('ZebraWithAttachedShadow_noisy_Salt_and_Pepper.jpg')

# 指定した範囲内でのピクセル数の平均値をとる。
# 白、黒などの極端なノイズは無視されるため、ノイズ除去に強い
median = cv2.medianBlur(img,5)

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(median),plt.title('Median')
plt.xticks([]), plt.yticks([])
plt.show()


Bilateral Filtering(バイラテラルフィルタ)


import cv2
from matplotlib import pyplot as plt

img = cv2.imread('woos4.jpg')

# 入力画像、中心部からのピクセル範囲、カラーシグマ値、空間シグマ値
# カラーシグマが大きいとピクセル間での濃淡差が大きくないと効果がでない
# 空間シグマが大きいと輪郭意外のボケがおおきくなるが計算処理に時間がかかる
blur = cv2.bilateralFilter(img,9,75,75)

plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur),plt.title('Bilateral')
plt.xticks([]), plt.yticks([])
plt.show()


今日の作業

スムージングの特徴をもう少し明確につかみたい。

2015年11月12日木曜日

OpenCV Tutorial(1)〜特定色のトラッキング

このエントリーをはてなブックマークに追加
OpenCVのサイトにオンラインドキュメントでチュートリアルがあったので、ざっと眺めてためそうと思う。使う言語はCではなくpythonにしてみる。(慣れてるし)

Image Processing in OpenCVから。

Changing Colorspaces

import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while(1):

    # Take each frame
    _, frame = cap.read()

    # Convert BGR to HSV
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    # define range of blue color in HSV
    lower_blue = np.array([110,50,50])
    upper_blue = np.array([130,255,255])

    # Threshold the HSV image to get only blue colors
    mask = cv2.inRange(hsv, lower_blue, upper_blue)

    # Bitwise-AND mask and original image
    res = cv2.bitwise_and(frame,frame, mask= mask)

    cv2.imshow('frame',frame)
    cv2.imshow('mask',mask)
    cv2.imshow('res',res)
    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break

cv2.destroyAllWindows()

青色でマスクされた部分が動画でトラッキングされながらグレースケールと青のみでマスクされて表示された。


今日の作業

Bloggerのデザイン微修正とOpenCVのチュートリアル見つけて1つのみ。残念。あと、ソースにコメントを付けて補足したい。

2015年11月11日水曜日

画像の特徴点を抽出する

このエントリーをはてなブックマークに追加
せっかく入れたOpenCVなので何かやってみたい。

といってもパッと難しいことはできないので、よくある画像の特徴点抽出をやってみようかと思った。
import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('/usr/local/src/opencv-3.0.0/samples/data/lena.jpg',0)

# Initiate STAR detector
orb = cv2.ORB_create()

# find the keypoints with ORB
kp = orb.detect(img,None)

# compute the descriptors with ORB
kp, des = orb.compute(img, kp)

# draw only keypoints location,not size and orientation
img2 = cv2.drawKeypoints(img,kp, None,color=(0,255,0))
plt.imshow(img2),plt.show()

出来た。

今日の作業

OpenCVのインストールが手強すぎて、あまり他のことに時間が割けなかった。とはいえ、OpenCV入れたので何ができるかの基本は押さえておきたい。明日は少し進展できたらいいな。

2015年11月10日火曜日

特定サイトをクローリングする

このエントリーをはてなブックマークに追加
ある特定のドメインのサイトを一定階層までダウンロードしてみる。

/**
 * メイン処理
 */

// ライブラリ読み込み
var client = require('cheerio-httpcli');
var request = require('request');
var URL = require('url');
var fs = require('fs');
var path = require('path');

// 読み込み階層を今回は3までに指定
var LINK_LEVEL = 3;
// ダウンロード先
var TARGET_URL = "http://docs.opencv.org/3.0.0/";
var list = {};

// ダウンロード関数実行
downloadRec(TARGET_URL, 0);

/*
 * 関数定義
 */
function downloadRec(url, level){
 // 読み込み階層を超えてたら実行終了
 if( level >= LINK_LEVEL){
  return;
 }
 
 // listに追加されたurlがTRUE(ダウンロード済み)であれば抜ける
 if(list[url]){
  return;
 }
 
 list[url] = true;
 
 // 外部ドメインは無視する
 var us = TARGET_URL.split("/");
 us.pop();
 var base = us.join("/");
 if(url.indexOf(base) < 0){
  return;
 }
 
 client.fetch(url, {}, function(err, $, res){
  // エラーが返されたら終了
  if(err){
         console.log("Error", err);
         console.log("RESPONCE", res);
  }
  // aタグをすべてチェック
  $("a").each(function(idx){
   var href = $(this).attr("href");
   // リンク先がなければ終了
   if(!href){
    return;
   }
   
   // 相対パスを絶対パスへ変更
   href = URL.resolve(url, href);
   
   // アンカーリンクは無視
   href = href.replace(/\#.+$/, "");
   
   // リンク先のURLに対して再帰的に実行
   downloadRec(href, level + 1);
  });
  
  // URLの最後が’/’だけだったらindex.htmlを足す
  if(url.substr(url.length-1, 1) == "/"){
   url += "index.html";
  }
  
  // 3層までなのでURLを一旦’/’で分割し、最後から2つの要素を取り出し、再度’/’をつけてディレクトリパスにする。
  var savepath = url.split("/").slice(2).join("/");
  checkSaveDir(savepath);
  console.log(savepath);
  fs.writeFileSync(savepath, $.html());
  
 });
}

// 該当のディレクトリがあるかどうかチェック
function checkSaveDir(fname){
 var dir = path.dirname(fname);
 
 var dirlist = dir.split("/");
 var p = "";
 
 for(var i in dirlist){
  p += dirlist[i] + "/";
  if(!fs.existsSync(p)){
   fs.mkdirSync(p);
  }
 }
}
順調に行ってたら、このメッセージが出た。エラー処理を入れて確認してみる。
getall.js:37 $("a").each(function(idx){ ^ TypeError: $ is not a function     at Object.callback (/root/WebCrawler-NetAgent/ch02/getall.js:37:3)     at Object.module.exports.fail (/root/node_modules/cheerio-httpcli/lib/client.js:59:15)     at Object.<anonymous> (/root/node_modules/cheerio-httpcli/lib/client.js:191:21)     at Object.<anonymous> (/root/node_modules/cheerio-httpcli/lib/client.js:129:16)     at self.callback (/root/node_modules/cheerio-httpcli/node_modules/request/request.js:198:22)     at emitOne (events.js:77:13)     at Request.emit (events.js:169:7)     at null._onTimeout (/root/node_modules/cheerio-httpcli/node_modules/request/request.js:811:12)     at Timer.listOnTimeout (timers.js:92:15)
client.fetchの一番上にエラー処理を入れてみた。
:
:
 client.fetch(url, {}, function(err, $, res){
  if(err){
   console.log("Error", err);
   console.log("RESPONCE", res);
   return;
  }
  
  $("a").each(function(idx){
   var href = $(this).attr("href");
   if(!href){
    return;
   }
:
:
すると、約300ページほどタイムアウトで取得できていないことがわかった。ただURLを直接ブラウザで確認すると問題なさそうなので、なんでかなと思いつつ一旦スルー。ちなみにこんなエラー。
Error { [Error: ETIMEDOUT]   code: 'ETIMEDOUT',   connect: true,   url: 'http://docs.opencv.org/3.0.0/dd/de2/classcv_1_1AutoLock.html',   param: {} } RESPONCE undefined Error { [Error: ETIMEDOUT]   code: 'ETIMEDOUT',   connect: true,   url: 'http://docs.opencv.org/3.0.0/d7/d7b/classcv_1_1BackgroundSubtractorMOG2.html',   param: {} } RESPONCE undefined Error { [Error: ETIMEDOUT]   code: 'ETIMEDOUT',   connect: true,   url: 'http://docs.opencv.org/3.0.0/d0/d2e/classcv_1_1CommandLineParser.html',   param: {} }
こんなのが300個ほど。(正確には332個だった) 取得したのを確認してみるとこんな感じ。 あと404も1つあった。これは実際のサイトのURLをたどっても404だったのでプログラム的には問題なし。
Error { [Error: server status]   url: 'http://docs.opencv.org/3.0.0//3.0-last-rst',   param: {},   statusCode: 404 } RESPONCE IncomingMessage {   _readableState:    ReadableState {      objectMode: false,      highWaterMark: 16384,      buffer: [],      length: 0,      pipes: null,      pipesCount: 0,      flowing: true,      ended: true,      endEmitted: true,      reading: false,      sync: false,      needReadable: false,      emittedReadable: false,      readableListening: false,      defaultEncoding: 'utf8',      ranOut: false,      awaitDrain: 0,      readingMore: false,      decoder: null,      encoding: null,      resumeScheduled: false },   readable: false,   domain: null,   _events:    { end: [ [Function: responseOnEnd], [Function], [Function], [Function] ],      close: [ [Function], [Function] ],      data: [Function],      error: [Function] },   _eventsCount: 4,   _maxListeners: undefined,   socket:    Socket {      _connecting: false,      _hadError: false,      _handle: null,      _parent: null,      _host: 'docs.opencv.org',      _readableState:       ReadableState {         objectMode: false,         highWaterMark: 16384,         buffer: [],         length: 0,         pipes: null,         pipesCount: 0,         flowing: true,         ended: true,         endEmitted: true,         reading: false,         sync: false,         needReadable: false,         emittedReadable: false,         readableListening: false,         defaultEncoding: 'utf8',         ranOut: false,         awaitDrain: 0,         readingMore: false,         decoder: null,         encoding: null,         resumeScheduled: false },      readable: false,      domain: null,      _events:       { end: [Object],         finish: [Function: onSocketFinish],         _socketEnd: [Function: onSocketEnd],         free: [Function: onFree],         close: [Object],         agentRemove: [Function: onRemove],         drain: [Function: ondrain],         error: [Object],         data: [Function: socketOnData],         timeout: [Object] },      _eventsCount: 10,      _maxListeners: 0,      _writableState:       WritableState {         objectMode: false,         highWaterMark: 16384,         needDrain: false,         ending: true,         ended: true,         finished: true,         decodeStrings: false,         defaultEncoding: 'utf8',         length: 0,         writing: false,         corked: 0,         sync: false,         bufferProcessing: false,         onwrite: [Function],         writecb: null,         writelen: 0,         bufferedRequest: null,         lastBufferedRequest: null,         pendingcb: 0,         prefinished: true,         errorEmitted: false },      writable: false,      allowHalfOpen: false,      destroyed: true,      bytesRead: 383,      _bytesDispatched: 292,      _sockname: null,      _pendingData: null,      _pendingEncoding: '',      parser: null,      _httpMessage:       ClientRequest {         domain: null,         _events: [Object],         _eventsCount: 5,         _maxListeners: undefined,         output: [],         outputEncodings: [],         outputCallbacks: [],         outputSize: 0,         writable: true,         _last: true,         chunkedEncoding: false,         shouldKeepAlive: false,         useChunkedEncodingByDefault: false,         sendDate: false,         _removedHeader: {},         _contentLength: 0,         _hasBody: true,         _trailer: '',         finished: true,         _headerSent: true,         socket: [Circular],         connection: [Circular],         _header: 'GET /3.0.0//3.0-last-rst HTTP/1.1\r\nHost: docs.opencv.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36\r\nReferer: http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html\r\nAccept-Encoding: gzip, deflate\r\nConnection: close\r\n\r\n',         _headers: [Object],         _headerNames: [Object],         _onPendingData: null,         agent: [Object],         socketPath: undefined,         method: 'GET',         path: '/3.0.0//3.0-last-rst',         timeoutCb: [Function: emitTimeout],         parser: null,         res: [Circular] },      _idleTimeout: -1,      _idleNext: null,      _idlePrev: null,      _idleStart: 4136,      read: [Function],      _consuming: true,      write: [Function: writeAfterFIN] },   connection:    Socket {      _connecting: false,      _hadError: false,      _handle: null,      _parent: null,      _host: 'docs.opencv.org',      _readableState:       ReadableState {         objectMode: false,         highWaterMark: 16384,         buffer: [],         length: 0,         pipes: null,         pipesCount: 0,         flowing: true,         ended: true,         endEmitted: true,         reading: false,         sync: false,         needReadable: false,         emittedReadable: false,         readableListening: false,         defaultEncoding: 'utf8',         ranOut: false,         awaitDrain: 0,         readingMore: false,         decoder: null,         encoding: null,         resumeScheduled: false },      readable: false,      domain: null,      _events:       { end: [Object],         finish: [Function: onSocketFinish],         _socketEnd: [Function: onSocketEnd],         free: [Function: onFree],         close: [Object],         agentRemove: [Function: onRemove],         drain: [Function: ondrain],         error: [Object],         data: [Function: socketOnData],         timeout: [Object] },      _eventsCount: 10,      _maxListeners: 0,      _writableState:       WritableState {         objectMode: false,         highWaterMark: 16384,         needDrain: false,         ending: true,         ended: true,         finished: true,         decodeStrings: false,         defaultEncoding: 'utf8',         length: 0,         writing: false,         corked: 0,         sync: false,         bufferProcessing: false,         onwrite: [Function],         writecb: null,         writelen: 0,         bufferedRequest: null,         lastBufferedRequest: null,         pendingcb: 0,         prefinished: true,         errorEmitted: false },      writable: false,      allowHalfOpen: false,      destroyed: true,      bytesRead: 383,      _bytesDispatched: 292,      _sockname: null,      _pendingData: null,      _pendingEncoding: '',      parser: null,      _httpMessage:       ClientRequest {         domain: null,         _events: [Object],         _eventsCount: 5,         _maxListeners: undefined,         output: [],         outputEncodings: [],         outputCallbacks: [],         outputSize: 0,         writable: true,         _last: true,         chunkedEncoding: false,         shouldKeepAlive: false,         useChunkedEncodingByDefault: false,         sendDate: false,         _removedHeader: {},         _contentLength: 0,         _hasBody: true,         _trailer: '',         finished: true,         _headerSent: true,         socket: [Circular],         connection: [Circular],         _header: 'GET /3.0.0//3.0-last-rst HTTP/1.1\r\nHost: docs.opencv.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36\r\nReferer: http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html\r\nAccept-Encoding: gzip, deflate\r\nConnection: close\r\n\r\n',         _headers: [Object],         _headerNames: [Object],         _onPendingData: null,         agent: [Object],         socketPath: undefined,         method: 'GET',         path: '/3.0.0//3.0-last-rst',         timeoutCb: [Function: emitTimeout],         parser: null,         res: [Circular] },      _idleTimeout: -1,      _idleNext: null,      _idlePrev: null,      _idleStart: 4136,      read: [Function],      _consuming: true,      write: [Function: writeAfterFIN] },   httpVersionMajor: 1,   httpVersionMinor: 1,   httpVersion: '1.1',   complete: true,   headers:    { server: 'nginx',      date: 'Tue, 10 Nov 2015 09:58:11 GMT',      'content-type': 'text/html; charset=iso-8859-1',      vary: 'Accept-Encoding',      'content-encoding': 'gzip',      connection: 'close' },   rawHeaders:    [ 'Server',      'nginx',      'Date',      'Tue, 10 Nov 2015 09:58:11 GMT',      'Content-Type',      'text/html; charset=iso-8859-1',      'Vary',      'Accept-Encoding',      'Content-Encoding',      'gzip',      'Connection',      'close' ],   trailers: {},   rawTrailers: [],   upgrade: false,   url: '',   method: null,   statusCode: 404,   statusMessage: 'Not Found',   client:    Socket {      _connecting: false,      _hadError: false,      _handle: null,      _parent: null,      _host: 'docs.opencv.org',      _readableState:       ReadableState {         objectMode: false,         highWaterMark: 16384,         buffer: [],         length: 0,         pipes: null,         pipesCount: 0,         flowing: true,         ended: true,         endEmitted: true,         reading: false,         sync: false,         needReadable: false,         emittedReadable: false,         readableListening: false,         defaultEncoding: 'utf8',         ranOut: false,         awaitDrain: 0,         readingMore: false,         decoder: null,         encoding: null,         resumeScheduled: false },      readable: false,      domain: null,      _events:       { end: [Object],         finish: [Function: onSocketFinish],         _socketEnd: [Function: onSocketEnd],         free: [Function: onFree],         close: [Object],         agentRemove: [Function: onRemove],         drain: [Function: ondrain],         error: [Object],         data: [Function: socketOnData],         timeout: [Object] },      _eventsCount: 10,      _maxListeners: 0,      _writableState:       WritableState {         objectMode: false,         highWaterMark: 16384,         needDrain: false,         ending: true,         ended: true,         finished: true,         decodeStrings: false,         defaultEncoding: 'utf8',         length: 0,         writing: false,         corked: 0,         sync: false,         bufferProcessing: false,         onwrite: [Function],         writecb: null,         writelen: 0,         bufferedRequest: null,         lastBufferedRequest: null,         pendingcb: 0,         prefinished: true,         errorEmitted: false },      writable: false,      allowHalfOpen: false,      destroyed: true,      bytesRead: 383,      _bytesDispatched: 292,      _sockname: null,      _pendingData: null,      _pendingEncoding: '',      parser: null,      _httpMessage:       ClientRequest {         domain: null,         _events: [Object],         _eventsCount: 5,         _maxListeners: undefined,         output: [],         outputEncodings: [],         outputCallbacks: [],         outputSize: 0,         writable: true,         _last: true,         chunkedEncoding: false,         shouldKeepAlive: false,         useChunkedEncodingByDefault: false,         sendDate: false,         _removedHeader: {},         _contentLength: 0,         _hasBody: true,         _trailer: '',         finished: true,         _headerSent: true,         socket: [Circular],         connection: [Circular],         _header: 'GET /3.0.0//3.0-last-rst HTTP/1.1\r\nHost: docs.opencv.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36\r\nReferer: http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html\r\nAccept-Encoding: gzip, deflate\r\nConnection: close\r\n\r\n',         _headers: [Object],         _headerNames: [Object],         _onPendingData: null,         agent: [Object],         socketPath: undefined,         method: 'GET',         path: '/3.0.0//3.0-last-rst',         timeoutCb: [Function: emitTimeout],         parser: null,         res: [Circular] },      _idleTimeout: -1,      _idleNext: null,      _idlePrev: null,      _idleStart: 4136,      read: [Function],      _consuming: true,      write: [Function: writeAfterFIN] },   _consuming: true,   _dumped: false,   req:    ClientRequest {      domain: null,      _events:       { socket: [Object],         timeout: [Object],         response: [Function: bound ],         error: [Function: bound ],         drain: [Function] },      _eventsCount: 5,      _maxListeners: undefined,      output: [],      outputEncodings: [],      outputCallbacks: [],      outputSize: 0,      writable: true,      _last: true,      chunkedEncoding: false,      shouldKeepAlive: false,      useChunkedEncodingByDefault: false,      sendDate: false,      _removedHeader: {},      _contentLength: 0,      _hasBody: true,      _trailer: '',      finished: true,      _headerSent: true,      socket:       Socket {         _connecting: false,         _hadError: false,         _handle: null,         _parent: null,         _host: 'docs.opencv.org',         _readableState: [Object],         readable: false,         domain: null,         _events: [Object],         _eventsCount: 10,         _maxListeners: 0,         _writableState: [Object],         writable: false,         allowHalfOpen: false,         destroyed: true,         bytesRead: 383,         _bytesDispatched: 292,         _sockname: null,         _pendingData: null,         _pendingEncoding: '',         parser: null,         _httpMessage: [Circular],         _idleTimeout: -1,         _idleNext: null,         _idlePrev: null,         _idleStart: 4136,         read: [Function],         _consuming: true,         write: [Function: writeAfterFIN] },      connection:       Socket {         _connecting: false,         _hadError: false,         _handle: null,         _parent: null,         _host: 'docs.opencv.org',         _readableState: [Object],         readable: false,         domain: null,         _events: [Object],         _eventsCount: 10,         _maxListeners: 0,         _writableState: [Object],         writable: false,         allowHalfOpen: false,         destroyed: true,         bytesRead: 383,         _bytesDispatched: 292,         _sockname: null,         _pendingData: null,         _pendingEncoding: '',         parser: null,         _httpMessage: [Circular],         _idleTimeout: -1,         _idleNext: null,         _idlePrev: null,         _idleStart: 4136,         read: [Function],         _consuming: true,         write: [Function: writeAfterFIN] },      _header: 'GET /3.0.0//3.0-last-rst HTTP/1.1\r\nHost: docs.opencv.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36\r\nReferer: http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html\r\nAccept-Encoding: gzip, deflate\r\nConnection: close\r\n\r\n',      _headers:       { host: 'docs.opencv.org',         'user-agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',         referer: 'http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html',         'accept-encoding': 'gzip, deflate' },      _headerNames:       { host: 'Host',         'user-agent': 'User-Agent',         referer: 'Referer',         'accept-encoding': 'Accept-Encoding' },      _onPendingData: null,      agent:       Agent {         domain: null,         _events: [Object],         _eventsCount: 1,         _maxListeners: undefined,         defaultPort: 80,         protocol: 'http:',         options: [Object],         requests: {},         sockets: [Object],         freeSockets: {},         keepAliveMsecs: 1000,         keepAlive: false,         maxSockets: Infinity,         maxFreeSockets: 256 },      socketPath: undefined,      method: 'GET',      path: '/3.0.0//3.0-last-rst',      timeoutCb: [Function: emitTimeout],      parser: null,      res: [Circular] },   request:    Request {      domain: null,      _events:       { error: [Function: bound ],         complete: [Function: bound ],         pipe: [Function],         end: [Object],         data: [Function] },      _eventsCount: 5,      _maxListeners: undefined,      callback: [Function],      followRedirect: true,      timeout: 30000,      headers:       { Host: 'docs.opencv.org',         'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',         Referer: 'http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html',         'Accept-Encoding': 'gzip, deflate' },      encoding: null,      method: 'GET',      uri:       Url {         protocol: 'http:',         slashes: true,         auth: null,         host: 'docs.opencv.org',         port: 80,         hostname: 'docs.opencv.org',         hash: null,         search: null,         query: null,         pathname: '/3.0.0//3.0-last-rst',         path: '/3.0.0//3.0-last-rst',         href: 'http://docs.opencv.org/3.0.0//3.0-last-rst' },      readable: true,      writable: true,      explicitMethod: true,      _qs:       Querystring {         request: [Circular],         lib: [Object],         useQuerystring: undefined,         parseOptions: {},         stringifyOptions: {} },      _auth:       Auth {         request: [Circular],         hasAuth: false,         sentAuth: false,         bearerToken: null,         user: null,         pass: null },      _oauth: OAuth { request: [Circular], params: null },      _multipart:       Multipart {         request: [Circular],         boundary: '03d2fef7-454d-4b17-85f7-74c8639b40e0',         chunked: false,         body: null },      _redirect:       Redirect {         request: [Circular],         followRedirect: true,         followRedirects: true,         followAllRedirects: false,         allowRedirect: [Function],         maxRedirects: 10,         redirects: [],         redirectsFollowed: 0,         removeRefererHeader: false },      _tunnel:       Tunnel {         request: [Circular],         proxyHeaderWhiteList: [Object],         proxyHeaderExclusiveList: [] },      setHeader: [Function],      hasHeader: [Function],      getHeader: [Function],      removeHeader: [Function],      localAddress: undefined,      pool: {},      dests: [],      __isRequestRequest: true,      _callback: [Function: bound ],      proxy: null,      tunnel: undefined,      setHost: false,      originalCookieHeader: undefined,      _jar: RequestJar { _jar: [Object] },      port: 80,      host: 'docs.opencv.org',      path: '/3.0.0//3.0-last-rst',      httpModule:       { IncomingMessage: [Object],         METHODS: [Object],         OutgoingMessage: [Object],         ServerResponse: [Object],         STATUS_CODES: [Object],         Agent: [Object],         globalAgent: [Object],         ClientRequest: [Object],         request: [Function],         get: [Function],         _connectionListener: [Function: connectionListener],         Server: [Object],         createServer: [Function],         Client: [Function: deprecated],         createClient: [Function: deprecated] },      agentClass: { [Function: Agent] super_: [Object], defaultMaxSockets: Infinity },      agent:       Agent {         domain: null,         _events: [Object],         _eventsCount: 1,         _maxListeners: undefined,         defaultPort: 80,         protocol: 'http:',         options: [Object],         requests: {},         sockets: [Object],         freeSockets: {},         keepAliveMsecs: 1000,         keepAlive: false,         maxSockets: Infinity,         maxFreeSockets: 256 },      _started: true,      href: 'http://docs.opencv.org/3.0.0//3.0-last-rst',      req:       ClientRequest {         domain: null,         _events: [Object],         _eventsCount: 5,         _maxListeners: undefined,         output: [],         outputEncodings: [],         outputCallbacks: [],         outputSize: 0,         writable: true,         _last: true,         chunkedEncoding: false,         shouldKeepAlive: false,         useChunkedEncodingByDefault: false,         sendDate: false,         _removedHeader: {},         _contentLength: 0,         _hasBody: true,         _trailer: '',         finished: true,         _headerSent: true,         socket: [Object],         connection: [Object],         _header: 'GET /3.0.0//3.0-last-rst HTTP/1.1\r\nHost: docs.opencv.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36\r\nReferer: http://docs.opencv.org/3.0.0/d9/df8/tutorial_root.html\r\nAccept-Encoding: gzip, deflate\r\nConnection: close\r\n\r\n',         _headers: [Object],         _headerNames: [Object],         _onPendingData: null,         agent: [Object],         socketPath: undefined,         method: 'GET',         path: '/3.0.0//3.0-last-rst',         timeoutCb: [Function: emitTimeout],         parser: null,         res: [Circular] },      timeoutTimer: null,      ntick: true,      response: [Circular],      originalHost: 'docs.opencv.org',      originalHostHeaderName: 'Host',      responseContent: [Circular],      _destdata: true,      _ended: true,      _callbackCalled: true },   toJSON: [Function: responseToJSON],   caseless:    Caseless {      dict:       { server: 'nginx',         date: 'Tue, 10 Nov 2015 09:58:11 GMT',         'content-type': 'text/html; charset=iso-8859-1',         vary: 'Accept-Encoding',         'content-encoding': 'gzip',         connection: 'close' } },   read: [Function],   body: <Buffer 1f 8b 08 00 00 00 00 00 00 03 4c 8e cd 0e 82 30 10 84 ef 3c c5 ca 1d 16 95 63 d3 83 fc 44 12 44 62 ea c1 23 a6 35 25 41 8a 6d d1 f8 f6 b6 70 f1 b4 99 ... >,   cookies: {}
今回はaタグのみで、imgタグやlinkタグ、scriptタグをたどっていないのでレイアウトは崩れて画像も表示できていなかった。
ちょっとタイムアウトが気持ち悪いけど、とりあえず再帰的に特定のドメイン以下のページを取得することはできた。
今日の作業

髪の毛切りに行ったりしてたら、今日はこれしかできなかった。。。

2015年11月9日月曜日

Fedora23でsyslog無くなってた

このエントリーをはてなブックマークに追加

正確にはFedora20ぐらいからsyslog無くなってたらしい。
最近はFedora触ってなかったので知らなかった。。。

代わりに/var/log/journalが役目を果たしているとのこと。
journalctlでsyslog相当の一番古いブートログから見ることができる。

# journalctl -b
だと最近のブートログだけが見れる。
# journalctl --list-boot
-17 e706327cdc3d42c1a10a6e3e122fb26a 木 2015-05-28 02:23:53 JST—木 2015-05-28 02:36:30 JST
-16 af151fb0e5e941e9aabc090640aab990 日 2015-05-31 13:22:02 JST—日 2015-05-31 13:42:30 JST
-15 836febc5fd084df0af25259f90aebe2e 日 2015-06-07 02:48:32 JST—日 2015-06-07 02:49:39 JST
-14 ece8ea7e1ac946c7996628baeeb11a17 金 2015-06-26 02:19:21 JST—金 2015-06-26 02:26:25 JST
-13 3150061f8d4b4f2593ff0c2e402e8fc8 月 2015-07-20 03:23:42 JST—月 2015-07-20 03:25:57 JST
-12 6c303fa35f954dbd98add02f8689770e 月 2015-11-02 01:49:21 JST—月 2015-11-02 02:20:52 JST
-11 b68b798a119748c5ba73baed49c88b3d 月 2015-11-02 02:21:05 JST—月 2015-11-02 02:48:38 JST
-10 41f22a7f5c694bb186d4ec66a19877c6 水 2015-11-04 23:57:57 JST—木 2015-11-05 00:13:25 JST
 -9 f029de9794c544baa6805e7d891453a7 木 2015-11-05 00:46:50 JST—木 2015-11-05 01:17:15 JST
 -8 563afecb5e5949e4933432f895d24c68 木 2015-11-05 01:17:24 JST—木 2015-11-05 01:33:55 JST
 -7 a36af9e5644642c2bbddc57e04f77140 木 2015-11-05 01:34:06 JST—木 2015-11-05 01:38:54 JST
 -6 f82ec15f399449a9ab67fa0f15597469 月 2015-11-09 16:17:33 JST—月 2015-11-09 16:49:28 JST
 -5 ea18424ed34742eab03756e993568956 月 2015-11-09 18:40:36 JST—月 2015-11-09 19:07:46 JST
 -4 890244106b104813927f868501ddae43 月 2015-11-09 19:07:54 JST—月 2015-11-09 19:43:16 JST
 -3 c0c97f291ec04df685b1dcf385f3ca88 月 2015-11-09 22:40:21 JST—月 2015-11-09 22:46:04 JST
 -2 a00c9d8fc8444bcaa7f3550c66144450 月 2015-11-09 22:46:13 JST—月 2015-11-09 23:04:43 JST
 -1 6bb9be41751a4bfc801b9406dfd57d06 月 2015-11-09 23:04:50 JST—月 2015-11-09 23:21:44 JST
  0 e38ced96031b4b1989ee737c5625c260 月 2015-11-09 23:21:53 JST—月 2015-11-09 23:24:40 JST
--list-bootを付けるとログに残っているbootのリストが見れるようだ。

今日の作業

今日はHTMLの画像の抽出とFedora23 Desktopの環境整備で終わった。意外とFedora23 Desktopを開発環境にしようとすると細かいところでめんどくさかった

2015年11月8日日曜日

node.jsでHTMLスクレイピングしてリンクを抽出する

このエントリーをはてなブックマークに追加
node.jsでスクレイピングする時に便利なcheerio-httpcliをインストールしておく。

一応、インストール時の出力をメモ代わりに残しておこう。
# /usr/local/node/bin/npm install cheerio-httpcli
cheerio-httpcli@0.3.5 node_modules/cheerio-httpcli
├── ent@2.2.0
├── iconv-lite@0.4.13
├── rsvp@3.1.0
├── jschardet@1.4.0
├── prettyjson@1.1.3 (minimist@1.2.0, colors@1.1.2)
├── cheerio@0.19.0 (entities@1.1.1, dom-serializer@0.1.0, css-select@1.0.0, htmlparser2@3.8.3, lodash@3.10.1)
└── request@2.65.0 (aws-sign2@0.6.0, forever-agent@0.6.1, tunnel-agent@0.4.1, oauth-sign@0.8.0, caseless@0.11.0, stringstream@0.0.5, isstream@0.1.2, json-stringify-safe@5.0.1, extend@3.0.0, tough-cookie@2.2.0, node-uuid@1.4.3, qs@5.2.0, combined-stream@1.0.5, mime-types@2.1.7, form-data@1.0.0-rc3, hawk@3.1.1, bl@1.0.0, http-signature@0.11.0, har-validator@2.0.2)

青空文庫の宮沢賢治のページを取得する


さっきのcheerio-httpcliはリダイレクトも考慮してくれるので簡単。
var client = require('cheerio-httpcli');

var url = "http://www.aozora.gr.jp/index_pages/person81.html";
var param = {};

/**
 * client.fetch:指定されたURLからHTMLを取得する
 * コールバックfunction:
 *   err:エラー情報
 *   $:取得データ
 *   res:サーバレスポンス
 */
client.fetch(url, param, function(err, $, res){
 if(err){
  console.log("Error", err);
  return;
 }
 var body = $.html();
 console.log(body);
});

取得したデータがこれ。
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>作家別作品リスト:宮沢 賢治</title>
<style type="text/css">
<!--
body{
    margin-left: 10%;
    margin-right: 10%;
    margin-bottom: 5%;
    line-height: 150%;
}
a:hover{
    color: white;
    background-color: #0000ff;
}
h1{
    color: black;
    background-color: #ffffcc;
    padding: 10pt;
    border-color: black;
    border-width: 1pt 0 1pt 0;
    border-style: solid none solid none;
    font-size: 150%;
}
h2{
    color: black;
    background-color: #d3d3d3;
    padding: 5pt;
    border-color: black;
    border-width: 1pt 0 1pt 0;
    border-style: solid none solid none;
    text-indent: 1em;
}
table{
    margin-left: 1em;
    padding: 0.5em 0em 0.5em 1em;
}
table.download{
    color: black;
    margin-left: 0;
    padding: 0;
}
th.download{
    font-weight: bold;
    background-color: black;
    color: white;
}
td{
    line-height:150%;
}
td.header{
    vertical-align: top;
    font-weight: bold;
    width: 8em;
    color: #a52a2a;
}
ol{
    padding: 0.5em 0em 0.5em 2em;
    margin-left: 2em;
    line-height: 150%;
}
div.copyright{
    background-color: white;
    margin: 0.5em 0em 0.5em 2em;
}
span.current{
    font-weight: bold;
    color: red;
}
-->
</style>
</head>

<body text="#000000" bgcolor="#f0f8ff" link="#0000ff" vlink="#00008B" alink="#ff0000">

<a name="top">&nbsp;</a>

<div align="right">●<a href="../index.html">トップ</a> ●<a href="index_top.html">インデックス</a>/<a href="index_all.html">全</a> ●作家リスト:<a href="person_ma.html#sec2">公開</a>/<a href="person_inp_ma.html#sec2">作業</a>/<a href="person_all_ma.html#sec2">全</a> ●<span class="current">作家別作品リスト</span></div>

<div align="center"><h1>作家別作品リスト:No.81</h1></div>

<table summary="作家データ">
<tr><td class="header">作家名:</td><td><font size="+2">宮沢 賢治</font></td></tr>
<tr><td class="header">作家名読み:</td><td>みやざわ けんじ</td></tr>
<tr><td class="header">ローマ字表記:</td><td>Miyazawa, Kenji</td></tr>
<tr><td class="header">生年:</td><td>1896-08-27</td></tr>
<tr><td class="header">没年:</td><td>1933-09-21</td></tr>
<tr><td class="header">人物について:</td><td>岩手県花巻に生まれる。盛岡高等農林農学科に在学中に日蓮宗を信仰するようになる。稗貫農学校の教諭をしながら、詩や童話を書いた。「春と修羅」は生前刊行された唯一の詩集。農民の暮らしを知るようになって、農学校を退職し、自らも開墾生活をしつつ羅須地人協会を設立し、稲作指導をしたり、農民芸術の必要を説いた。<br><a href="http://ja.wikipedia.org/" target="_blank"><img align="middle" src="../images/wikipedia_logo_rounded.png" width="110" height="32" border="0" alt="wikipediaアイコン"></a>「<a href="http://ja.wikipedia.org/wiki/%E5%AE%AE%E6%B2%A2%E8%B3%A2%E6%B2%BB" target="_blank">宮沢賢治</a>」</td></tr>
</table>



<hr>

<div align="right">
[<a href="#sakuhin_list_1">公開中の作品</a>|<a href="#sakuhin_list_2">作業中の作品</a>]
</div>

<h2><a name="sakuhin_list_1">公開中の作品</a></h2>

<ol>
<li><a href="../cards/000081/card53398.html">〔青びかる天弧のはてに〕</a> (新字旧仮名、作品ID:53398) </li>
<li><a href="../cards/000081/card53352.html">青柳教諭を送る</a> (新字旧仮名、作品ID:53352) </li>
<li><a href="../cards/000081/card4464.html">秋田街道</a> (新字旧仮名、作品ID:4464) </li>
<li><a href="../cards/000081/card53437.html">〔あくたうかべる朝の水〕</a> (新字旧仮名、作品ID:53437) </li>
<li><a href="../cards/000081/card48198.html">あけがた</a> (新字旧仮名、作品ID:48198) </li>
<li><a href="../cards/000081/card43041.html">朝に就ての童話的構図</a> (新字旧仮名、作品ID:43041) </li>
<li><a href="../cards/000081/card45630.html">〔雨ニモマケズ〕</a> (新字旧仮名、作品ID:45630) </li>
<li><a href="../cards/000081/card2657.html">ありときのこ</a> (新字新仮名、作品ID:2657) </li>
<li><a href="../cards/000081/card45471.html">或る農学生の日誌</a> (新字新仮名、作品ID:45471) </li>
<li><a href="../cards/000081/card4417.html">イギリス海岸</a> (新字旧仮名、作品ID:4417) </li>
<li><a href="../cards/000081/card50766.html">イギリス海岸</a> (新字新仮名、作品ID:50766) </li>
<li><a href="../cards/000081/card53399.html">〔いざ渡せかし おいぼれめ〕</a> (新字旧仮名、作品ID:53399) </li>
<li><a href="../cards/000081/card45652.html">泉ある家</a> (新字新仮名、作品ID:45652) </li>
<li><a href="../cards/000081/card4423.html">いてふの実</a> (新字旧仮名、作品ID:4423) </li>
<li><a href="../cards/000081/card51156.html">いちょうの実</a> (新字新仮名、作品ID:51156) </li>
<li><a href="../cards/000081/card45472.html">イーハトーボ農学校の春</a> (新字新仮名、作品ID:45472) </li>
<li><a href="../cards/000081/card460.html">インドラの網</a> (新字新仮名、作品ID:460) </li>
<li><a href="../cards/000081/card53390.html">〔馬行き人行き自転車行きて〕</a> (新字旧仮名、作品ID:53390) </li>
<li><a href="../cards/000081/card4883.html">うろこ雲</a> (旧字旧仮名、作品ID:4883) </li>
<li><a href="../cards/000081/card53417.html">駅長</a> (新字旧仮名、作品ID:53417) </li>
<li><a href="../cards/000081/card43753.html">狼森と笊森、盗森</a> (新字新仮名、作品ID:43753) </li>
<li><a href="../cards/000081/card1926.html">狼森と笊森、盗森</a> (新字旧仮名、作品ID:1926) </li>
<li><a href="../cards/000081/card53387.html">丘</a> (新字旧仮名、作品ID:53387) </li>
<li><a href="../cards/000081/card1085.html">おきなぐさ</a> (新字新仮名、作品ID:1085) </li>
<li><a href="../cards/000081/card466.html">オツベルと象</a> (新字新仮名、作品ID:466) </li>
<li><a href="../cards/000081/card48199.html">女</a> (新字旧仮名、作品ID:48199) </li>
<li><a href="../cards/000081/card53376.html">会計課</a> (新字旧仮名、作品ID:53376) </li>
<li><a href="../cards/000081/card53401.html">開墾</a> (新字旧仮名、作品ID:53401) </li>
<li><a href="../cards/000081/card53363.html">開墾地</a> (新字旧仮名、作品ID:53363) </li>
<li><a href="../cards/000081/card1942.html">貝の火</a> (新字新仮名、作品ID:1942) </li>
<li><a href="../cards/000081/card1918.html">カイロ団長</a> (新字新仮名、作品ID:1918) </li>
<li><a href="../cards/000081/card46600.html">蛙のゴム靴</a> (新字新仮名、作品ID:46600) </li>
<li><a href="../cards/000081/card4421.html">蛙のゴム靴</a> (新字旧仮名、作品ID:4421) </li>
<li><a href="../cards/000081/card45308.html">学者アラムハラドの見た着物</a> (新字新仮名、作品ID:45308) </li>
<li><a href="../cards/000081/card53429.html">〔かくまでに〕</a> (新字旧仮名、作品ID:53429) </li>
<li><a href="../cards/000081/card1932.html">かしはばやしの夜</a> (新字旧仮名、作品ID:1932) </li>
<li><a href="../cards/000081/card43759.html">かしわばやしの夜</a> (新字新仮名、作品ID:43759) </li>
<li><a href="../cards/000081/card462.html">風の又三郎</a> (新字新仮名、作品ID:462) </li>
<li><a href="../cards/000081/card1943.html">風野又三郎</a> (新字新仮名、作品ID:1943) </li>
<li><a href="../cards/000081/card53380.html">烏百態</a> (新字旧仮名、作品ID:53380) </li>
<li><a href="../cards/000081/card48220.html">花壇工作</a> (新字旧仮名、作品ID:48220) </li>
<li><a href="../cards/000081/card43036.html">家長制度</a> (新字旧仮名、作品ID:43036) </li>
<li><a href="../cards/000081/card53382.html">月天讃歌(擬古調)</a> (新字旧仮名、作品ID:53382) </li>
<li><a href="../cards/000081/card455.html">ガドルフの百合</a> (新字新仮名、作品ID:455) </li>
<li><a href="../cards/000081/card53409.html">釜石よりの帰り</a> (新字旧仮名、作品ID:53409) </li>
<li><a href="../cards/000081/card1928.html">烏の北斗七星</a> (新字旧仮名、作品ID:1928) </li>
<li><a href="../cards/000081/card43755.html">烏の北斗七星</a> (新字新仮名、作品ID:43755) </li>
<li><a href="../cards/000081/card461.html">雁の童子</a> (新字新仮名、作品ID:461) </li>
<li><a href="../cards/000081/card4426.html">革トランク</a> (新字旧仮名、作品ID:4426) </li>
<li><a href="../cards/000081/card53411.html">看痾</a> (新字旧仮名、作品ID:53411) </li>
<li><a href="../cards/000081/card53374.html">〔甘藍の球は弾けて〕</a> (新字旧仮名、作品ID:53374) </li>
<li><a href="../cards/000081/card1919.html">黄いろのトマト</a> (新字新仮名、作品ID:1919) </li>
<li><a href="../cards/000081/card53392.html">機会</a> (新字旧仮名、作品ID:53392) </li>
<li><a href="../cards/000081/card1921.html">饑餓陣営</a> 一幕(新字新仮名、作品ID:1921) </li>
<li><a href="../cards/000081/card48221.html">疑獄元兇</a> (新字旧仮名、作品ID:48221) </li>
<li><a href="../cards/000081/card46606.html">気のいい火山弾</a> (新字新仮名、作品ID:46606) </li>
<li><a href="../cards/000081/card4440.html">気のいい火山弾</a> (新字旧仮名、作品ID:4440) </li>
<li><a href="../cards/000081/card53361.html">饗宴</a> (新字旧仮名、作品ID:53361) </li>
<li><a href="../cards/000081/card43737.html">銀河鉄道の夜</a> (新字新仮名、作品ID:43737) </li>
<li><a href="../cards/000081/card46322.html">銀河鉄道の夜</a> (旧字旧仮名、作品ID:46322) </li>
<li><a href="../cards/000081/card456.html">銀河鉄道の夜</a> (新字新仮名、作品ID:456) </li>
<li><a href="../cards/000081/card1924.html">グスコーブドリの伝記</a> (新字新仮名、作品ID:1924) </li>
<li><a href="../cards/000081/card1946.html">クねずみ</a> (新字新仮名、作品ID:1946) </li>
<li><a href="../cards/000081/card4602.html">蜘蛛となめくじと狸</a> (新字新仮名、作品ID:4602) </li>
<li><a href="../cards/000081/card53435.html">〔くもにつらなるでこぼこがらす〕</a> (新字旧仮名、作品ID:53435) </li>
<li><a href="../cards/000081/card53407.html">〔雲ふかく 山裳を曳けば〕</a> (新字旧仮名、作品ID:53407) </li>
<li><a href="../cards/000081/card53383.html">〔雲を濾し〕</a> (新字旧仮名、作品ID:53383) </li>
<li><a href="../cards/000081/card4409.html">車</a> (新字旧仮名、作品ID:4409) </li>
<li><a href="../cards/000081/card4408.html">黒ぶだう</a> (新字旧仮名、作品ID:4408) </li>
<li><a href="../cards/000081/card53368.html">〔郡属伊原忠右エ門〕</a> (新字旧仮名、作品ID:53368) </li>
<li><a href="../cards/000081/card53381.html">訓導</a> (新字旧仮名、作品ID:53381) </li>
<li><a href="../cards/000081/card53386.html">〔月光の鉛のなかに〕</a> (新字旧仮名、作品ID:53386) </li>
<li><a href="../cards/000081/card4410.html">虔十公園林</a> (新字旧仮名、作品ID:4410) </li>
<li><a href="../cards/000081/card46601.html">虔十公園林</a> (新字新仮名、作品ID:46601) </li>
<li><a href="../cards/000081/card53356.html">幻想</a> (新字旧仮名、作品ID:53356) </li>
<li><a href="../cards/000081/card53428.html">県道</a> (新字旧仮名、作品ID:53428) </li>
<li><a href="../cards/000081/card53388.html">恋</a> (新字旧仮名、作品ID:53388) </li>
<li><a href="../cards/000081/card4439.html">耕耘部の時計</a> (新字旧仮名、作品ID:4439) </li>
<li><a href="../cards/000081/card50762.html">耕耘部の時計</a> (新字新仮名、作品ID:50762) </li>
<li><a href="../cards/000081/card53350.html">講後</a> (新字旧仮名、作品ID:53350) </li>
<li><a href="../cards/000081/card53370.html">〔洪積の台のはてなる〕</a> (新字旧仮名、作品ID:53370) </li>
<li><a href="../cards/000081/card53400.html">校庭</a> (新字旧仮名、作品ID:53400) </li>
<li><a href="../cards/000081/card4882.html">氷と後光</a> (旧字旧仮名、作品ID:4882) </li>
<li><a href="../cards/000081/card53405.html">国柱会</a> (新字旧仮名、作品ID:53405) </li>
<li><a href="../cards/000081/card53418.html">〔こはドロミット洞窟の〕</a> (新字旧仮名、作品ID:53418) </li>
<li><a href="../cards/000081/card53360.html">こゝろ</a> (新字旧仮名、作品ID:53360) </li>
<li><a href="../cards/000081/card53440.html">〔こゝろの影を恐るなと〕</a> (新字旧仮名、作品ID:53440) </li>
<li><a href="../cards/000081/card53416.html">〔このみちの醸すがごとく〕</a> (新字旧仮名、作品ID:53416) </li>
<li><a href="../cards/000081/card53362.html">〔こんにやくの〕</a> (新字旧仮名、作品ID:53362) </li>
<li><a href="../cards/000081/card468.html">さいかち淵</a> (新字旧仮名、作品ID:468) </li>
<li><a href="../cards/000081/card50763.html">さいかち淵</a> (新字新仮名、作品ID:50763) </li>
<li><a href="../cards/000081/card53410.html">祭日〔二〕</a> (新字旧仮名、作品ID:53410) </li>
<li><a href="../cards/000081/card45658.html">サガレンと八月</a> (新字新仮名、作品ID:45658) </li>
<li><a href="../cards/000081/card53373.html">〔鷺はひかりの空に餓ゑ〕</a> (新字旧仮名、作品ID:53373) </li>
<li><a href="../cards/000081/card2656.html">ざしき童子のはなし</a> (新字新仮名、作品ID:2656) </li>
<li><a href="../cards/000081/card469.html">さるのこしかけ</a> (新字新仮名、作品ID:469) </li>
<li><a href="../cards/000081/card4469.html">山地の稜</a> (新字旧仮名、作品ID:4469) </li>
<li><a href="../cards/000081/card2655.html">シグナルとシグナレス</a> (新字新仮名、作品ID:2655) </li>
<li><a href="../cards/000081/card1937.html">紫紺染について</a> (新字新仮名、作品ID:1937) </li>
<li><a href="../cards/000081/card1923.html">鹿踊りのはじまり</a> (新字旧仮名、作品ID:1923) </li>
<li><a href="../cards/000081/card43760.html">鹿踊りのはじまり</a> (新字新仮名、作品ID:43760) </li>
<li><a href="../cards/000081/card53394.html">四八 黄泉路</a> (新字旧仮名、作品ID:53394) </li>
<li><a href="../cards/000081/card471.html">疾中</a> (新字旧仮名、作品ID:471) </li>
<li><a href="../cards/000081/card47029.html">詩ノート</a> (新字旧仮名、作品ID:47029) </li>
<li><a href="../cards/000081/card53444.html">〔島わにあらき潮騒を〕</a> (新字旧仮名、作品ID:53444) </li>
<li><a href="../cards/000081/card53420.html">〔霜枯れのトマトの気根〕</a> (新字旧仮名、作品ID:53420) </li>
<li><a href="../cards/000081/card53353.html">〔霧降る萱の細みちに〕</a> (新字旧仮名、作品ID:53353) </li>
<li><a href="../cards/000081/card46602.html">十月の末</a> (新字新仮名、作品ID:46602) </li>
<li><a href="../cards/000081/card4442.html">十月の末</a> (新字旧仮名、作品ID:4442) </li>
<li><a href="../cards/000081/card45653.html">十六日</a> (新字新仮名、作品ID:45653) </li>
<li><a href="../cards/000081/card53346.html">樹園</a> (新字旧仮名、作品ID:53346) </li>
<li><a href="../cards/000081/card53415.html">〔棕梠の葉やゝに痙攣し〕</a> (新字旧仮名、作品ID:53415) </li>
<li><a href="../cards/000081/card53358.html">春章作中判</a> (新字旧仮名、作品ID:53358) </li>
<li><a href="../cards/000081/card53423.html">小祠</a> (新字旧仮名、作品ID:53423) </li>
<li><a href="../cards/000081/card53378.html">職員室</a> (新字旧仮名、作品ID:53378) </li>
<li><a href="../cards/000081/card42346.html">植物医師</a> 郷土喜劇(新字新仮名、作品ID:42346) </li>
<li><a href="../cards/000081/card43757.html">水仙月の四日</a> (新字新仮名、作品ID:43757) </li>
<li><a href="../cards/000081/card1930.html">水仙月の四日</a> (新字旧仮名、作品ID:1930) </li>
<li><a href="../cards/000081/card53365.html">水部の線</a> (新字旧仮名、作品ID:53365) </li>
<li><a href="../cards/000081/card53433.html">スタンレー探検隊に対する二人のコンゴー土人の演説</a> (新字旧仮名、作品ID:53433) </li>
<li><a href="../cards/000081/card53347.html">隅田川</a> (新字旧仮名、作品ID:53347) </li>
<li><a href="../cards/000081/card53413.html">製炭小屋</a> (新字旧仮名、作品ID:53413) </li>
<li><a href="../cards/000081/card53426.html">〔聖なる窓〕</a> (新字旧仮名、作品ID:53426) </li>
<li><a href="../cards/000081/card1941.html">税務署長の冒険</a> (新字旧仮名、作品ID:1941) </li>
<li><a href="../cards/000081/card53391.html">雪峡</a> (新字旧仮名、作品ID:53391) </li>
<li><a href="../cards/000081/card53431.html">〔せなうち痛み息熱く〕</a> (新字旧仮名、作品ID:53431) </li>
<li><a href="../cards/000081/card53372.html">セレナーデ 恋歌</a> (新字旧仮名、作品ID:53372) </li>
<li><a href="../cards/000081/card470.html">セロ弾きのゴーシュ</a> (新字新仮名、作品ID:470) </li>
<li><a href="../cards/000081/card53408.html">僧園</a> (新字旧仮名、作品ID:53408) </li>
<li><a href="../cards/000081/card53412.html">宗谷〔一〕</a> (新字旧仮名、作品ID:53412) </li>
<li><a href="../cards/000081/card53414.html">宗谷〔二〕</a> (新字旧仮名、作品ID:53414) </li>
<li><a href="../cards/000081/card48200.html">〔蒼冷と純黒〕</a> (新字旧仮名、作品ID:48200) </li>
<li><a href="../cards/000081/card53397.html">〔そのかたち収得に似て〕</a> (新字旧仮名、作品ID:53397) </li>
<li><a href="../cards/000081/card50764.html">台川</a> (新字新仮名、作品ID:50764) </li>
<li><a href="../cards/000081/card4416.html">台川</a> (新字旧仮名、作品ID:4416) </li>
<li><a href="../cards/000081/card53424.html">対酌</a> (新字旧仮名、作品ID:53424) </li>
<li><a href="../cards/000081/card48223.html">大礼服の例外的効果</a> (新字旧仮名、作品ID:48223) </li>
<li><a href="../cards/000081/card53396.html">宅地</a> (新字旧仮名、作品ID:53396) </li>
<li><a href="../cards/000081/card53395.html">〔たゞかたくなのみをわぶる〕</a> (新字旧仮名、作品ID:53395) </li>
<li><a href="../cards/000081/card1107.html">谷</a> (新字旧仮名、作品ID:1107) </li>
<li><a href="../cards/000081/card46603.html">谷</a> (新字新仮名、作品ID:46603) </li>
<li><a href="../cards/000081/card4424.html">種山ヶ原</a> (新字旧仮名、作品ID:4424) </li>
<li><a href="../cards/000081/card50767.html">種山ヶ原</a> (新字新仮名、作品ID:50767) </li>
<li><a href="../cards/000081/card4600.html">タネリはたしかにいちにち噛んでいたようだった</a> (新字新仮名、作品ID:4600) </li>
<li><a href="../cards/000081/card48201.html">丹藤川〔「家長制度」先駆形〕</a> (新字旧仮名、作品ID:48201) </li>
<li><a href="../cards/000081/card53438.html">中尊寺〔二〕</a> (新字旧仮名、作品ID:53438) </li>
<li><a href="../cards/000081/card43754.html">注文の多い料理店</a> (新字新仮名、作品ID:43754) </li>
<li><a href="../cards/000081/card1927.html">注文の多い料理店</a> (新字旧仮名、作品ID:1927) </li>
<li><a href="../cards/000081/card43733.html">『注文の多い料理店』広告文</a> (新字旧仮名、作品ID:43733) </li>
<li><a href="../cards/000081/card43736.html">『注文の多い料理店』序</a> (新字新仮名、作品ID:43736) </li>
<li><a href="../cards/000081/card43735.html">『注文の多い料理店』序</a> (新字旧仮名、作品ID:43735) </li>
<li><a href="../cards/000081/card43734.html">『注文の多い料理店』新刊案内</a> (新字新仮名、作品ID:43734) </li>
<li><a href="../cards/000081/card4087.html">チュウリップの幻術</a> (新字新仮名、作品ID:4087) </li>
<li><a href="../cards/000081/card1949.html">ツェねずみ</a> (新字新仮名、作品ID:1949) </li>
<li><a href="../cards/000081/card4420.html">月夜のけだもの</a> (新字旧仮名、作品ID:4420) </li>
<li><a href="../cards/000081/card1929.html">月夜のでんしんばしら</a> (新字旧仮名、作品ID:1929) </li>
<li><a href="../cards/000081/card43756.html">月夜のでんしんばしら</a> (新字新仮名、作品ID:43756) </li>
<li><a href="../cards/000081/card46266.html">月夜のでんしんばしらの軍歌</a> (新字旧仮名、作品ID:46266) </li>
<li><a href="../cards/000081/card46607.html">土神ときつね</a> (新字新仮名、作品ID:46607) </li>
<li><a href="../cards/000081/card4436.html">土神と狐</a> (新字旧仮名、作品ID:4436) </li>
<li><a href="../cards/000081/card53436.html">〔土をも掘らん汗もせん〕</a> (新字旧仮名、作品ID:53436) </li>
<li><a href="../cards/000081/card53379.html">〔つめたき朝の真鍮に〕</a> (新字旧仮名、作品ID:53379) </li>
<li><a href="../cards/000081/card45654.html">手紙 一</a> (新字新仮名、作品ID:45654) </li>
<li><a href="../cards/000081/card45655.html">手紙 三</a> (新字新仮名、作品ID:45655) </li>
<li><a href="../cards/000081/card45656.html">手紙 二</a> (新字新仮名、作品ID:45656) </li>
<li><a href="../cards/000081/card45657.html">手紙 四</a> (新字新仮名、作品ID:45657) </li>
<li><a href="../cards/000081/card53345.html">田園迷信</a> (新字旧仮名、作品ID:53345) </li>
<li><a href="../cards/000081/card4467.html">電車</a> (新字旧仮名、作品ID:4467) </li>
<li><a href="../cards/000081/card4425.html">毒蛾</a> (新字旧仮名、作品ID:4425) </li>
<li><a href="../cards/000081/card454.html">毒もみのすきな署長さん</a> (新字新仮名、作品ID:454) </li>
<li><a href="../cards/000081/card4468.html">床屋</a> (新字旧仮名、作品ID:4468) </li>
<li><a href="../cards/000081/card4884.html">図書館幻想</a> (旧字旧仮名、作品ID:4884) </li>
<li><a href="../cards/000081/card1936.html">とっこべとら子</a> (新字新仮名、作品ID:1936) </li>
<li><a href="../cards/000081/card1947.html">鳥箱先生とフウねずみ</a> (新字旧仮名、作品ID:1947) </li>
<li><a href="../cards/000081/card4085.html">鳥をとるやなぎ</a> (新字新仮名、作品ID:4085) </li>
<li><a href="../cards/000081/card1925.html">どんぐりと山猫</a> (新字旧仮名、作品ID:1925) </li>
<li><a href="../cards/000081/card43752.html">どんぐりと山猫</a> (新字新仮名、作品ID:43752) </li>
<li><a href="../cards/000081/card53359.html">〔ながれたり〕</a> (新字旧仮名、作品ID:53359) </li>
<li><a href="../cards/000081/card53406.html">〔なべてはしけく よそほひて〕</a> (新字旧仮名、作品ID:53406) </li>
<li><a href="../cards/000081/card53422.html">〔鉛のいろの冬海の〕</a> (新字旧仮名、作品ID:53422) </li>
<li><a href="../cards/000081/card1939.html">なめとこ山の熊</a> (新字新仮名、作品ID:1939) </li>
<li><a href="../cards/000081/card4438.html">楢ノ木大学士の野宿</a> (新字旧仮名、作品ID:4438) </li>
<li><a href="../cards/000081/card46608.html">楢ノ木大学士の野宿</a> (新字新仮名、作品ID:46608) </li>
<li><a href="../cards/000081/card2658.html">虹の絵の具皿</a> (十力の金剛石)(新字新仮名、作品ID:2658) </li>
<li><a href="../cards/000081/card46604.html">二十六夜</a> (新字新仮名、作品ID:46604) </li>
<li><a href="../cards/000081/card4427.html">二十六夜</a> (新字旧仮名、作品ID:4427) </li>
<li><a href="../cards/000081/card48202.html">沼森</a> (新字旧仮名、作品ID:48202) </li>
<li><a href="../cards/000081/card48203.html">猫</a> (新字旧仮名、作品ID:48203) </li>
<li><a href="../cards/000081/card464.html">猫の事務所</a> (新字旧仮名、作品ID:464) </li>
<li><a href="../cards/000081/card53443.html">農学校歌</a> (新字旧仮名、作品ID:53443) </li>
<li><a href="../cards/000081/card465.html">農民芸術概論</a> (新字旧仮名、作品ID:465) </li>
<li><a href="../cards/000081/card2386.html">農民芸術概論綱要</a> (新字旧仮名、作品ID:2386) </li>
<li><a href="../cards/000081/card45631.html">農民芸術の興隆</a> (新字旧仮名、作品ID:45631) </li>
<li><a href="../cards/000081/card45659.html">バキチの仕事</a> (新字新仮名、作品ID:45659) </li>
<li><a href="../cards/000081/card53351.html">雹雲砲手</a> (新字旧仮名、作品ID:53351) </li>
<li><a href="../cards/000081/card4415.html">化物丁場</a> (新字旧仮名、作品ID:4415) </li>
<li><a href="../cards/000081/card3060.html">凾館港春夜光景</a> (新字旧仮名、作品ID:3060) </li>
<li><a href="../cards/000081/card4419.html">畑のへり</a> (新字旧仮名、作品ID:4419) </li>
<li><a href="../cards/000081/card53348.html">八戸</a> (新字旧仮名、作品ID:53348) </li>
<li><a href="../cards/000081/card53446.html">〔廿日月かざす刃は音無しの〕</a> (新字旧仮名、作品ID:53446) </li>
<li><a href="../cards/000081/card46267.html">花巻農学校精神歌</a> (新字旧仮名、作品ID:46267) </li>
<li><a href="../cards/000081/card4466.html">花椰菜</a> (新字旧仮名、作品ID:4466) </li>
<li><a href="../cards/000081/card4437.html">林の底</a> (新字旧仮名、作品ID:4437) </li>
<li><a href="../cards/000081/card53430.html">隼人</a> (新字旧仮名、作品ID:53430) </li>
<li><a href="../cards/000081/card4086.html">茨海小学校</a> (新字新仮名、作品ID:4086) </li>
<li><a href="../cards/000081/card1058.html">『春と修羅』</a> (新字旧仮名、作品ID:1058) </li>
<li><a href="../cards/000081/card457.html">春と修羅</a> (新字新仮名、作品ID:457) </li>
<li><a href="../cards/000081/card47028.html">春と修羅 第三集</a> (新字旧仮名、作品ID:47028) </li>
<li><a href="../cards/000081/card47027.html">春と修羅 第二集</a> (新字旧仮名、作品ID:47027) </li>
<li><a href="../cards/000081/card43040.html">『春と修羅』補遺</a> (新字旧仮名、作品ID:43040) </li>
<li><a href="../cards/000081/card458.html">ひかりの素足</a> (新字旧仮名、作品ID:458) </li>
<li><a href="../cards/000081/card53419.html">秘境</a> (新字旧仮名、作品ID:53419) </li>
<li><a href="../cards/000081/card53366.html">〔卑屈の友らをいきどほろしく〕</a> (新字旧仮名、作品ID:53366) </li>
<li><a href="../cards/000081/card2589.html">ビジテリアン大祭</a> (新字新仮名、作品ID:2589) </li>
<li><a href="../cards/000081/card53432.html">〔ひとひははかなくことばをくだし〕</a> (新字旧仮名、作品ID:53432) </li>
<li><a href="../cards/000081/card1920.html">ひのきとひなげし</a> (新字新仮名、作品ID:1920) </li>
<li><a href="../cards/000081/card53445.html">火の島</a> (新字旧仮名、作品ID:53445) </li>
<li><a href="../cards/000081/card1934.html">氷河鼠の毛皮</a> (新字旧仮名、作品ID:1934) </li>
<li><a href="../cards/000081/card53389.html">病中幻想</a> (新字旧仮名、作品ID:53389) </li>
<li><a href="../cards/000081/card53439.html">火渡り</a> (新字旧仮名、作品ID:53439) </li>
<li><a href="../cards/000081/card53425.html">不軽菩薩</a> (新字旧仮名、作品ID:53425) </li>
<li><a href="../cards/000081/card53403.html">〔二川こゝにて会したり〕</a> (新字旧仮名、作品ID:53403) </li>
<li><a href="../cards/000081/card459.html">双子の星</a> (新字新仮名、作品ID:459) </li>
<li><a href="../cards/000081/card1064.html">二人の役人</a> (新字旧仮名、作品ID:1064) </li>
<li><a href="../cards/000081/card50765.html">二人の役人</a> (新字新仮名、作品ID:50765) </li>
<li><a href="../cards/000081/card1940.html">葡萄水</a> (新字旧仮名、作品ID:1940) </li>
<li><a href="../cards/000081/card4601.html">フランドン農学校の豚</a> (新字新仮名、作品ID:4601) </li>
<li><a href="../cards/000081/card4462.html">文語詩稿 一百篇</a> (新字旧仮名、作品ID:4462) </li>
<li><a href="../cards/000081/card4461.html">文語詩稿 五十篇</a> (新字旧仮名、作品ID:4461) </li>
<li><a href="../cards/000081/card33195.html">ペンネンネンネンネン・ネネムの伝記</a> (新字新仮名、作品ID:33195) </li>
<li><a href="../cards/000081/card45309.html">ペンネンノルデはいまはいないよ 太陽にできた黒い棘をとりに行ったよ</a> (新字新仮名、作品ID:45309) </li>
<li><a href="../cards/000081/card1944.html">北守将軍と三人兄弟の医者</a> (新字旧仮名、作品ID:1944) </li>
<li><a href="../cards/000081/card46268.html">星めぐりの歌</a> (新字旧仮名、作品ID:46268) </li>
<li><a href="../cards/000081/card1935.html">ポラーノの広場</a> (新字新仮名、作品ID:1935) </li>
<li><a href="../cards/000081/card4418.html">洞熊学校を卒業した三人</a> (新字旧仮名、作品ID:4418) </li>
<li><a href="../cards/000081/card467.html">ポランの広場</a> (新字旧仮名、作品ID:467) </li>
<li><a href="../cards/000081/card463.html">マグノリアの木</a> (新字新仮名、作品ID:463) </li>
<li><a href="../cards/000081/card53384.html">〔ま青きそらの風をふるはし〕</a> (新字旧仮名、作品ID:53384) </li>
<li><a href="../cards/000081/card1938.html">祭の晩</a> (新字新仮名、作品ID:1938) </li>
<li><a href="../cards/000081/card4422.html">まなづるとダァリヤ</a> (新字新仮名、作品ID:4422) </li>
<li><a href="../cards/000081/card53369.html">〔まひるつとめにまぎらひて〕</a> (新字旧仮名、作品ID:53369) </li>
<li><a href="../cards/000081/card1922.html">マリヴロンと少女</a> (新字新仮名、作品ID:1922) </li>
<li><a href="../cards/000081/card45473.html">みじかい木ぺん</a> (新字新仮名、作品ID:45473) </li>
<li><a href="../cards/000081/card1077.html">めくらぶどうと虹</a> (新字新仮名、作品ID:1077) </li>
<li><a href="../cards/000081/card53441.html">〔モザイク成り〕</a> (新字旧仮名、作品ID:53441) </li>
<li><a href="../cards/000081/card53385.html">〔最も親しき友らにさへこれを秘して〕</a> (新字旧仮名、作品ID:53385) </li>
<li><a href="../cards/000081/card53402.html">〔館は台地のはななれば〕</a> (新字旧仮名、作品ID:53402) </li>
<li><a href="../cards/000081/card4465.html">柳沢</a> (新字旧仮名、作品ID:4465) </li>
<li><a href="../cards/000081/card53434.html">敗れし少年の歌へる</a> (新字旧仮名、作品ID:53434) </li>
<li><a href="../cards/000081/card43758.html">山男の四月</a> (新字新仮名、作品ID:43758) </li>
<li><a href="../cards/000081/card1931.html">山男の四月</a> (新字旧仮名、作品ID:1931) </li>
<li><a href="../cards/000081/card46605.html">やまなし</a> (新字新仮名、作品ID:46605) </li>
<li><a href="../cards/000081/card472.html">やまなし</a> (新字旧仮名、作品ID:472) </li>
<li><a href="../cards/000081/card53349.html">遊園地工作</a> (新字旧仮名、作品ID:53349) </li>
<li><a href="../cards/000081/card53442.html">〔夕陽は青めりかの山裾に〕</a> (新字旧仮名、作品ID:53442) </li>
<li><a href="../cards/000081/card53371.html">〔ゆがみつゝ月は出で〕</a> (新字旧仮名、作品ID:53371) </li>
<li><a href="../cards/000081/card53421.html">〔雪とひのきの坂上に〕</a> (新字旧仮名、作品ID:53421) </li>
<li><a href="../cards/000081/card2543.html">雪渡り</a> (新字旧仮名、作品ID:2543) </li>
<li><a href="../cards/000081/card45679.html">雪渡り</a> (新字新仮名、作品ID:45679) </li>
<li><a href="../cards/000081/card53364.html">〔弓のごとく〕</a> (新字旧仮名、作品ID:53364) </li>
<li><a href="../cards/000081/card53404.html">百合を掘る</a> (新字旧仮名、作品ID:53404) </li>
<li><a href="../cards/000081/card53354.html">楊林</a> (新字旧仮名、作品ID:53354) </li>
<li><a href="../cards/000081/card4441.html">よく利く薬とえらい薬</a> (新字旧仮名、作品ID:4441) </li>
<li><a href="../cards/000081/card473.html">よだかの星</a> (新字新仮名、作品ID:473) </li>
<li><a href="../cards/000081/card1116.html">四又の百合</a> (新字新仮名、作品ID:1116) </li>
<li><a href="../cards/000081/card4864.html">ラジュウムの雁</a> (旧字旧仮名、作品ID:4864) </li>
<li><a href="../cards/000081/card4865.html">龍と詩人</a> (旧字旧仮名、作品ID:4865) </li>
<li><a href="../cards/000081/card53375.html">〔りんごのみきのはひのひかり〕</a> (新字旧仮名、作品ID:53375) </li>
<li><a href="../cards/000081/card53377.html">〔昤々としてひかれるは〕</a> (新字旧仮名、作品ID:53377) </li>
<li><a href="../cards/000081/card43801.html">若い木霊</a> (新字新仮名、作品ID:43801) </li>
<li><a href="../cards/000081/card53367.html">〔われかのひとをこととふに〕</a> (新字旧仮名、作品ID:53367) </li>
<li><a href="../cards/000081/card53357.html">〔われ聴衆に会釈して〕</a> (新字旧仮名、作品ID:53357) </li>
<li><a href="../cards/000081/card53427.html">〔われはダルケを名乗れるものと〕</a> (新字旧仮名、作品ID:53427) </li>
<li><a href="../cards/000081/card53355.html">〔われらが書に順ひて〕</a> (新字旧仮名、作品ID:53355) </li>
<li><a href="../cards/000081/card53393.html">〔われらひとしく丘に立ち〕</a> (新字旧仮名、作品ID:53393) </li>

</ol>

<h2><a name="sakuhin_list_2">作業中の作品</a></h2>
→<a href="list_inp81_1.html">作業中 作家別作品一覧:宮沢 賢治</a>

<ol>
<li>銀河鉄道の夜 (新字旧仮名、作品ID:48222) </li>
<li>銀河鉄道の夜 初期形第三次稿 (新字新仮名、作品ID:48268) </li>
<li>銀河鉄道の夜 初期形第三次稿 (新字旧仮名、作品ID:48269) </li>

</ol>

<h2>関連サイト</h2>



<div align="right"><a href="#top">▲</a></div>

<hr>

<div>●作家リスト:公開中
<a href="person_a.html">[あ]</a>
<a href="person_ka.html">[か]</a>
<a href="person_sa.html">[さ]</a>
<a href="person_ta.html">[た]</a>
<a href="person_na.html">[な]</a>
<a href="person_ha.html">[は]</a>
<a href="person_ma.html">[ま]</a>
<a href="person_ya.html">[や]</a>
<a href="person_ra.html">[ら]</a>
<a href="person_wa.html">[わ]</a>
<a href="person_zz.html">[他]</a><br>
●作家リスト:作業中
<a href="person_inp_a.html">[あ]</a>
<a href="person_inp_ka.html">[か]</a>
<a href="person_inp_sa.html">[さ]</a>
<a href="person_inp_ta.html">[た]</a>
<a href="person_inp_na.html">[な]</a>
<a href="person_inp_ha.html">[は]</a>
<a href="person_inp_ma.html">[ま]</a>
<a href="person_inp_ya.html">[や]</a>
<a href="person_inp_ra.html">[ら]</a>
<a href="person_inp_wa.html">[わ]</a>
<a href="person_inp_zz.html">[他]</a><br>
●作家リスト:全
<a href="person_all_a.html">[あ]</a>
<a href="person_all_ka.html">[か]</a>
<a href="person_all_sa.html">[さ]</a>
<a href="person_all_ta.html">[た]</a>
<a href="person_all_na.html">[な]</a>
<a href="person_all_ha.html">[は]</a>
<a href="person_all_ma.html">[ま]</a>
<a href="person_all_ya.html">[や]</a>
<a href="person_all_ra.html">[ら]</a>
<a href="person_all_wa.html">[わ]</a>
<a href="person_all_zz.html">[他]</a><br>
●<a href="../index.html">トップ</a> ●<a href="index_top.html">インデックス</a>/<a href="index_all.html">全</a></div>

</body>
</html>

取得したHTMLをローカルのApacheで再現してみたらこんな感じ。うまいこと取れてる。Wikipediaの画像だけリンク切れ起こしてるけど。。。

取得したHTMLからリンクを抽出する

この中からリンクだけ抽出するにはこんな感じでjQueryのセレクタみたいな感じでcheerio-httpcliだと取得できる。
/**
 * http://usejsdoc.org/
 */

var client = require('cheerio-httpcli');

var url = "http://www.aozora.gr.jp/index_pages/person81.html";
var param = {};

/**
 * client.fetch:指定されたURLからHTMLを取得する
 * コールバックfunction:
 *   err:エラー情報
 *   $:取得データ
 *   res:サーバレスポンス
 */
client.fetch(url, param, function(err, $, res){
 if(err){
  console.log("Error", err);
  return;
 }
 $("a").each(function(idx){
  var text = $(this).text();
  var href = $(this).attr('href');
  console.log(text + ":" + href);
 });
});

これを実行したら綺麗にリンクの文字列とリンク先が取得できた。
 :undefined
トップ:../index.html
インデックス:index_top.html
全:index_all.html
公開:person_ma.html#sec2
作業:person_inp_ma.html#sec2
全:person_all_ma.html#sec2
:http://ja.wikipedia.org/
宮沢賢治:http://ja.wikipedia.org/wiki/%E5%AE%AE%E6%B2%A2%E8%B3%A2%E6%B2%BB
公開中の作品:#sakuhin_list_1
作業中の作品:#sakuhin_list_2
公開中の作品:undefined
〔青びかる天弧のはてに〕:../cards/000081/card53398.html
青柳教諭を送る:../cards/000081/card53352.html
秋田街道:../cards/000081/card4464.html
〔あくたうかべる朝の水〕:../cards/000081/card53437.html
あけがた:../cards/000081/card48198.html
朝に就ての童話的構図:../cards/000081/card43041.html
〔雨ニモマケズ〕:../cards/000081/card45630.html
ありときのこ:../cards/000081/card2657.html
或る農学生の日誌:../cards/000081/card45471.html
イギリス海岸:../cards/000081/card4417.html
イギリス海岸:../cards/000081/card50766.html
〔いざ渡せかし おいぼれめ〕:../cards/000081/card53399.html
泉ある家:../cards/000081/card45652.html
いてふの実:../cards/000081/card4423.html
いちょうの実:../cards/000081/card51156.html
イーハトーボ農学校の春:../cards/000081/card45472.html
インドラの網:../cards/000081/card460.html
〔馬行き人行き自転車行きて〕:../cards/000081/card53390.html
うろこ雲:../cards/000081/card4883.html
駅長:../cards/000081/card53417.html
狼森と笊森、盗森:../cards/000081/card43753.html
狼森と笊森、盗森:../cards/000081/card1926.html
丘:../cards/000081/card53387.html
おきなぐさ:../cards/000081/card1085.html
オツベルと象:../cards/000081/card466.html
女:../cards/000081/card48199.html
会計課:../cards/000081/card53376.html
開墾:../cards/000081/card53401.html
開墾地:../cards/000081/card53363.html
貝の火:../cards/000081/card1942.html
カイロ団長:../cards/000081/card1918.html
蛙のゴム靴:../cards/000081/card46600.html
蛙のゴム靴:../cards/000081/card4421.html
学者アラムハラドの見た着物:../cards/000081/card45308.html
〔かくまでに〕:../cards/000081/card53429.html
かしはばやしの夜:../cards/000081/card1932.html
かしわばやしの夜:../cards/000081/card43759.html
風の又三郎:../cards/000081/card462.html
風野又三郎:../cards/000081/card1943.html
烏百態:../cards/000081/card53380.html
花壇工作:../cards/000081/card48220.html
家長制度:../cards/000081/card43036.html
月天讃歌(擬古調):../cards/000081/card53382.html
ガドルフの百合:../cards/000081/card455.html
釜石よりの帰り:../cards/000081/card53409.html
烏の北斗七星:../cards/000081/card1928.html
烏の北斗七星:../cards/000081/card43755.html
雁の童子:../cards/000081/card461.html
革トランク:../cards/000081/card4426.html
看痾:../cards/000081/card53411.html
〔甘藍の球は弾けて〕:../cards/000081/card53374.html
黄いろのトマト:../cards/000081/card1919.html
機会:../cards/000081/card53392.html
饑餓陣営:../cards/000081/card1921.html
疑獄元兇:../cards/000081/card48221.html
気のいい火山弾:../cards/000081/card46606.html
気のいい火山弾:../cards/000081/card4440.html
饗宴:../cards/000081/card53361.html
銀河鉄道の夜:../cards/000081/card43737.html
銀河鉄道の夜:../cards/000081/card46322.html
銀河鉄道の夜:../cards/000081/card456.html
グスコーブドリの伝記:../cards/000081/card1924.html
クねずみ:../cards/000081/card1946.html
蜘蛛となめくじと狸:../cards/000081/card4602.html
〔くもにつらなるでこぼこがらす〕:../cards/000081/card53435.html
〔雲ふかく 山裳を曳けば〕:../cards/000081/card53407.html
〔雲を濾し〕:../cards/000081/card53383.html
車:../cards/000081/card4409.html
黒ぶだう:../cards/000081/card4408.html
〔郡属伊原忠右エ門〕:../cards/000081/card53368.html
訓導:../cards/000081/card53381.html
〔月光の鉛のなかに〕:../cards/000081/card53386.html
虔十公園林:../cards/000081/card4410.html
虔十公園林:../cards/000081/card46601.html
幻想:../cards/000081/card53356.html
県道:../cards/000081/card53428.html
恋:../cards/000081/card53388.html
耕耘部の時計:../cards/000081/card4439.html
耕耘部の時計:../cards/000081/card50762.html
講後:../cards/000081/card53350.html
〔洪積の台のはてなる〕:../cards/000081/card53370.html
校庭:../cards/000081/card53400.html
氷と後光:../cards/000081/card4882.html
国柱会:../cards/000081/card53405.html
〔こはドロミット洞窟の〕:../cards/000081/card53418.html
こゝろ:../cards/000081/card53360.html
〔こゝろの影を恐るなと〕:../cards/000081/card53440.html
〔このみちの醸すがごとく〕:../cards/000081/card53416.html
〔こんにやくの〕:../cards/000081/card53362.html
さいかち淵:../cards/000081/card468.html
さいかち淵:../cards/000081/card50763.html
祭日〔二〕:../cards/000081/card53410.html
サガレンと八月:../cards/000081/card45658.html
〔鷺はひかりの空に餓ゑ〕:../cards/000081/card53373.html
ざしき童子のはなし:../cards/000081/card2656.html
さるのこしかけ:../cards/000081/card469.html
山地の稜:../cards/000081/card4469.html
シグナルとシグナレス:../cards/000081/card2655.html
紫紺染について:../cards/000081/card1937.html
鹿踊りのはじまり:../cards/000081/card1923.html
鹿踊りのはじまり:../cards/000081/card43760.html
四八 黄泉路:../cards/000081/card53394.html
疾中:../cards/000081/card471.html
詩ノート:../cards/000081/card47029.html
〔島わにあらき潮騒を〕:../cards/000081/card53444.html
〔霜枯れのトマトの気根〕:../cards/000081/card53420.html
〔霧降る萱の細みちに〕:../cards/000081/card53353.html
十月の末:../cards/000081/card46602.html
十月の末:../cards/000081/card4442.html
十六日:../cards/000081/card45653.html
樹園:../cards/000081/card53346.html
〔棕梠の葉やゝに痙攣し〕:../cards/000081/card53415.html
春章作中判:../cards/000081/card53358.html
小祠:../cards/000081/card53423.html
職員室:../cards/000081/card53378.html
植物医師:../cards/000081/card42346.html
水仙月の四日:../cards/000081/card43757.html
水仙月の四日:../cards/000081/card1930.html
水部の線:../cards/000081/card53365.html
スタンレー探検隊に対する二人のコンゴー土人の演説:../cards/000081/card53433.html
隅田川:../cards/000081/card53347.html
製炭小屋:../cards/000081/card53413.html
〔聖なる窓〕:../cards/000081/card53426.html
税務署長の冒険:../cards/000081/card1941.html
雪峡:../cards/000081/card53391.html
〔せなうち痛み息熱く〕:../cards/000081/card53431.html
セレナーデ 恋歌:../cards/000081/card53372.html
セロ弾きのゴーシュ:../cards/000081/card470.html
僧園:../cards/000081/card53408.html
宗谷〔一〕:../cards/000081/card53412.html
宗谷〔二〕:../cards/000081/card53414.html
〔蒼冷と純黒〕:../cards/000081/card48200.html
〔そのかたち収得に似て〕:../cards/000081/card53397.html
台川:../cards/000081/card50764.html
台川:../cards/000081/card4416.html
対酌:../cards/000081/card53424.html
大礼服の例外的効果:../cards/000081/card48223.html
宅地:../cards/000081/card53396.html
〔たゞかたくなのみをわぶる〕:../cards/000081/card53395.html
谷:../cards/000081/card1107.html
谷:../cards/000081/card46603.html
種山ヶ原:../cards/000081/card4424.html
種山ヶ原:../cards/000081/card50767.html
タネリはたしかにいちにち噛んでいたようだった:../cards/000081/card4600.html
丹藤川〔「家長制度」先駆形〕:../cards/000081/card48201.html
中尊寺〔二〕:../cards/000081/card53438.html
注文の多い料理店:../cards/000081/card43754.html
注文の多い料理店:../cards/000081/card1927.html
『注文の多い料理店』広告文:../cards/000081/card43733.html
『注文の多い料理店』序:../cards/000081/card43736.html
『注文の多い料理店』序:../cards/000081/card43735.html
『注文の多い料理店』新刊案内:../cards/000081/card43734.html
チュウリップの幻術:../cards/000081/card4087.html
ツェねずみ:../cards/000081/card1949.html
月夜のけだもの:../cards/000081/card4420.html
月夜のでんしんばしら:../cards/000081/card1929.html
月夜のでんしんばしら:../cards/000081/card43756.html
月夜のでんしんばしらの軍歌:../cards/000081/card46266.html
土神ときつね:../cards/000081/card46607.html
土神と狐:../cards/000081/card4436.html
〔土をも掘らん汗もせん〕:../cards/000081/card53436.html
〔つめたき朝の真鍮に〕:../cards/000081/card53379.html
手紙 一:../cards/000081/card45654.html
手紙 三:../cards/000081/card45655.html
手紙 二:../cards/000081/card45656.html
手紙 四:../cards/000081/card45657.html
田園迷信:../cards/000081/card53345.html
電車:../cards/000081/card4467.html
毒蛾:../cards/000081/card4425.html
毒もみのすきな署長さん:../cards/000081/card454.html
床屋:../cards/000081/card4468.html
図書館幻想:../cards/000081/card4884.html
とっこべとら子:../cards/000081/card1936.html
鳥箱先生とフウねずみ:../cards/000081/card1947.html
鳥をとるやなぎ:../cards/000081/card4085.html
どんぐりと山猫:../cards/000081/card1925.html
どんぐりと山猫:../cards/000081/card43752.html
〔ながれたり〕:../cards/000081/card53359.html
〔なべてはしけく よそほひて〕:../cards/000081/card53406.html
〔鉛のいろの冬海の〕:../cards/000081/card53422.html
なめとこ山の熊:../cards/000081/card1939.html
楢ノ木大学士の野宿:../cards/000081/card4438.html
楢ノ木大学士の野宿:../cards/000081/card46608.html
虹の絵の具皿:../cards/000081/card2658.html
二十六夜:../cards/000081/card46604.html
二十六夜:../cards/000081/card4427.html
沼森:../cards/000081/card48202.html
猫:../cards/000081/card48203.html
猫の事務所:../cards/000081/card464.html
農学校歌:../cards/000081/card53443.html
農民芸術概論:../cards/000081/card465.html
農民芸術概論綱要:../cards/000081/card2386.html
農民芸術の興隆:../cards/000081/card45631.html
バキチの仕事:../cards/000081/card45659.html
雹雲砲手:../cards/000081/card53351.html
化物丁場:../cards/000081/card4415.html
凾館港春夜光景:../cards/000081/card3060.html
畑のへり:../cards/000081/card4419.html
八戸:../cards/000081/card53348.html
〔廿日月かざす刃は音無しの〕:../cards/000081/card53446.html
花巻農学校精神歌:../cards/000081/card46267.html
花椰菜:../cards/000081/card4466.html
林の底:../cards/000081/card4437.html
隼人:../cards/000081/card53430.html
茨海小学校:../cards/000081/card4086.html
『春と修羅』:../cards/000081/card1058.html
春と修羅:../cards/000081/card457.html
春と修羅 第三集:../cards/000081/card47028.html
春と修羅 第二集:../cards/000081/card47027.html
『春と修羅』補遺:../cards/000081/card43040.html
ひかりの素足:../cards/000081/card458.html
秘境:../cards/000081/card53419.html
〔卑屈の友らをいきどほろしく〕:../cards/000081/card53366.html
ビジテリアン大祭:../cards/000081/card2589.html
〔ひとひははかなくことばをくだし〕:../cards/000081/card53432.html
ひのきとひなげし:../cards/000081/card1920.html
火の島:../cards/000081/card53445.html
氷河鼠の毛皮:../cards/000081/card1934.html
病中幻想:../cards/000081/card53389.html
火渡り:../cards/000081/card53439.html
不軽菩薩:../cards/000081/card53425.html
〔二川こゝにて会したり〕:../cards/000081/card53403.html
双子の星:../cards/000081/card459.html
二人の役人:../cards/000081/card1064.html
二人の役人:../cards/000081/card50765.html
葡萄水:../cards/000081/card1940.html
フランドン農学校の豚:../cards/000081/card4601.html
文語詩稿 一百篇:../cards/000081/card4462.html
文語詩稿 五十篇:../cards/000081/card4461.html
ペンネンネンネンネン・ネネムの伝記:../cards/000081/card33195.html
ペンネンノルデはいまはいないよ 太陽にできた黒い棘をとりに行ったよ:../cards/000081/card45309.html
北守将軍と三人兄弟の医者:../cards/000081/card1944.html
星めぐりの歌:../cards/000081/card46268.html
ポラーノの広場:../cards/000081/card1935.html
洞熊学校を卒業した三人:../cards/000081/card4418.html
ポランの広場:../cards/000081/card467.html
マグノリアの木:../cards/000081/card463.html
〔ま青きそらの風をふるはし〕:../cards/000081/card53384.html
祭の晩:../cards/000081/card1938.html
まなづるとダァリヤ:../cards/000081/card4422.html
〔まひるつとめにまぎらひて〕:../cards/000081/card53369.html
マリヴロンと少女:../cards/000081/card1922.html
みじかい木ぺん:../cards/000081/card45473.html
めくらぶどうと虹:../cards/000081/card1077.html
〔モザイク成り〕:../cards/000081/card53441.html
〔最も親しき友らにさへこれを秘して〕:../cards/000081/card53385.html
〔館は台地のはななれば〕:../cards/000081/card53402.html
柳沢:../cards/000081/card4465.html
敗れし少年の歌へる:../cards/000081/card53434.html
山男の四月:../cards/000081/card43758.html
山男の四月:../cards/000081/card1931.html
やまなし:../cards/000081/card46605.html
やまなし:../cards/000081/card472.html
遊園地工作:../cards/000081/card53349.html
〔夕陽は青めりかの山裾に〕:../cards/000081/card53442.html
〔ゆがみつゝ月は出で〕:../cards/000081/card53371.html
〔雪とひのきの坂上に〕:../cards/000081/card53421.html
雪渡り:../cards/000081/card2543.html
雪渡り:../cards/000081/card45679.html
〔弓のごとく〕:../cards/000081/card53364.html
百合を掘る:../cards/000081/card53404.html
楊林:../cards/000081/card53354.html
よく利く薬とえらい薬:../cards/000081/card4441.html
よだかの星:../cards/000081/card473.html
四又の百合:../cards/000081/card1116.html
ラジュウムの雁:../cards/000081/card4864.html
龍と詩人:../cards/000081/card4865.html
〔りんごのみきのはひのひかり〕:../cards/000081/card53375.html
〔昤々としてひかれるは〕:../cards/000081/card53377.html
若い木霊:../cards/000081/card43801.html
〔われかのひとをこととふに〕:../cards/000081/card53367.html
〔われ聴衆に会釈して〕:../cards/000081/card53357.html
〔われはダルケを名乗れるものと〕:../cards/000081/card53427.html
〔われらが書に順ひて〕:../cards/000081/card53355.html
〔われらひとしく丘に立ち〕:../cards/000081/card53393.html
作業中の作品:undefined
作業中 作家別作品一覧:宮沢 賢治:list_inp81_1.html
▲:#top
[あ]:person_a.html
[か]:person_ka.html
[さ]:person_sa.html
[た]:person_ta.html
[な]:person_na.html
[は]:person_ha.html
[ま]:person_ma.html
[や]:person_ya.html
[ら]:person_ra.html
[わ]:person_wa.html
[他]:person_zz.html
[あ]:person_inp_a.html
[か]:person_inp_ka.html
[さ]:person_inp_sa.html
[た]:person_inp_ta.html
[な]:person_inp_na.html
[は]:person_inp_ha.html
[ま]:person_inp_ma.html
[や]:person_inp_ya.html
[ら]:person_inp_ra.html
[わ]:person_inp_wa.html
[他]:person_inp_zz.html
[あ]:person_all_a.html
[か]:person_all_ka.html
[さ]:person_all_sa.html
[た]:person_all_ta.html
[な]:person_all_na.html
[は]:person_all_ha.html
[ま]:person_all_ma.html
[や]:person_all_ya.html
[ら]:person_all_ra.html
[わ]:person_all_wa.html
[他]:person_all_zz.html
トップ:../index.html
インデックス:index_top.html
全:index_all.html
でも、このままだと相対パスのリンクなので、絶対パスのリンクに直してやる。
var client = require('cheerio-httpcli');
var URL = require('url');

var url = "http://www.aozora.gr.jp/index_pages/person81.html";
var param = {};

/**
 * client.fetch:指定されたURLからHTMLを取得する
 * コールバックfunction:
 *   err:エラー情報
 *   $:取得データ
 *   res:サーバレスポンス
 */
client.fetch(url, param, function(err, $, res){
 if(err){
  console.log("Error", err);
  return;
 }
 $("a").each(function(idx){
  var text = $(this).text();
  var href = $(this).attr('href');
  
  if(!href){
   return;
  }
  var href2 = URL.resolve(url, href);
  console.log(text + ":" + href);
  console.log(" => " + href2 + "\n");
 });
});
実行したらうまいこといった。
トップ:../index.html
 => http://www.aozora.gr.jp/index.html

インデックス:index_top.html
 => http://www.aozora.gr.jp/index_pages/index_top.html

全:index_all.html
 => http://www.aozora.gr.jp/index_pages/index_all.html

公開:person_ma.html#sec2
 => http://www.aozora.gr.jp/index_pages/person_ma.html#sec2

作業:person_inp_ma.html#sec2
 => http://www.aozora.gr.jp/index_pages/person_inp_ma.html#sec2

全:person_all_ma.html#sec2
 => http://www.aozora.gr.jp/index_pages/person_all_ma.html#sec2

:http://ja.wikipedia.org/
 => http://ja.wikipedia.org/

宮沢賢治:http://ja.wikipedia.org/wiki/%E5%AE%AE%E6%B2%A2%E8%B3%A2%E6%B2%BB
 => http://ja.wikipedia.org/wiki/%E5%AE%AE%E6%B2%A2%E8%B3%A2%E6%B2%BB

公開中の作品:#sakuhin_list_1
 => http://www.aozora.gr.jp/index_pages/person81.html#sakuhin_list_1

作業中の作品:#sakuhin_list_2
 => http://www.aozora.gr.jp/index_pages/person81.html#sakuhin_list_2

〔青びかる天弧のはてに〕:../cards/000081/card53398.html
 => http://www.aozora.gr.jp/cards/000081/card53398.html

青柳教諭を送る:../cards/000081/card53352.html
 => http://www.aozora.gr.jp/cards/000081/card53352.html

秋田街道:../cards/000081/card4464.html
 => http://www.aozora.gr.jp/cards/000081/card4464.html

〔あくたうかべる朝の水〕:../cards/000081/card53437.html
 => http://www.aozora.gr.jp/cards/000081/card53437.html

あけがた:../cards/000081/card48198.html
 => http://www.aozora.gr.jp/cards/000081/card48198.html

朝に就ての童話的構図:../cards/000081/card43041.html
 => http://www.aozora.gr.jp/cards/000081/card43041.html

〔雨ニモマケズ〕:../cards/000081/card45630.html
 => http://www.aozora.gr.jp/cards/000081/card45630.html

ありときのこ:../cards/000081/card2657.html
 => http://www.aozora.gr.jp/cards/000081/card2657.html

或る農学生の日誌:../cards/000081/card45471.html
 => http://www.aozora.gr.jp/cards/000081/card45471.html

イギリス海岸:../cards/000081/card4417.html
 => http://www.aozora.gr.jp/cards/000081/card4417.html

イギリス海岸:../cards/000081/card50766.html
 => http://www.aozora.gr.jp/cards/000081/card50766.html

〔いざ渡せかし おいぼれめ〕:../cards/000081/card53399.html
 => http://www.aozora.gr.jp/cards/000081/card53399.html

泉ある家:../cards/000081/card45652.html
 => http://www.aozora.gr.jp/cards/000081/card45652.html

いてふの実:../cards/000081/card4423.html
 => http://www.aozora.gr.jp/cards/000081/card4423.html

いちょうの実:../cards/000081/card51156.html
 => http://www.aozora.gr.jp/cards/000081/card51156.html

イーハトーボ農学校の春:../cards/000081/card45472.html
 => http://www.aozora.gr.jp/cards/000081/card45472.html

インドラの網:../cards/000081/card460.html
 => http://www.aozora.gr.jp/cards/000081/card460.html

〔馬行き人行き自転車行きて〕:../cards/000081/card53390.html
 => http://www.aozora.gr.jp/cards/000081/card53390.html

うろこ雲:../cards/000081/card4883.html
 => http://www.aozora.gr.jp/cards/000081/card4883.html

駅長:../cards/000081/card53417.html
 => http://www.aozora.gr.jp/cards/000081/card53417.html

狼森と笊森、盗森:../cards/000081/card43753.html
 => http://www.aozora.gr.jp/cards/000081/card43753.html

狼森と笊森、盗森:../cards/000081/card1926.html
 => http://www.aozora.gr.jp/cards/000081/card1926.html

丘:../cards/000081/card53387.html
 => http://www.aozora.gr.jp/cards/000081/card53387.html

おきなぐさ:../cards/000081/card1085.html
 => http://www.aozora.gr.jp/cards/000081/card1085.html

オツベルと象:../cards/000081/card466.html
 => http://www.aozora.gr.jp/cards/000081/card466.html

女:../cards/000081/card48199.html
 => http://www.aozora.gr.jp/cards/000081/card48199.html

会計課:../cards/000081/card53376.html
 => http://www.aozora.gr.jp/cards/000081/card53376.html

開墾:../cards/000081/card53401.html
 => http://www.aozora.gr.jp/cards/000081/card53401.html

開墾地:../cards/000081/card53363.html
 => http://www.aozora.gr.jp/cards/000081/card53363.html

貝の火:../cards/000081/card1942.html
 => http://www.aozora.gr.jp/cards/000081/card1942.html

カイロ団長:../cards/000081/card1918.html
 => http://www.aozora.gr.jp/cards/000081/card1918.html

蛙のゴム靴:../cards/000081/card46600.html
 => http://www.aozora.gr.jp/cards/000081/card46600.html

蛙のゴム靴:../cards/000081/card4421.html
 => http://www.aozora.gr.jp/cards/000081/card4421.html

学者アラムハラドの見た着物:../cards/000081/card45308.html
 => http://www.aozora.gr.jp/cards/000081/card45308.html

〔かくまでに〕:../cards/000081/card53429.html
 => http://www.aozora.gr.jp/cards/000081/card53429.html

かしはばやしの夜:../cards/000081/card1932.html
 => http://www.aozora.gr.jp/cards/000081/card1932.html

かしわばやしの夜:../cards/000081/card43759.html
 => http://www.aozora.gr.jp/cards/000081/card43759.html

風の又三郎:../cards/000081/card462.html
 => http://www.aozora.gr.jp/cards/000081/card462.html

風野又三郎:../cards/000081/card1943.html
 => http://www.aozora.gr.jp/cards/000081/card1943.html

烏百態:../cards/000081/card53380.html
 => http://www.aozora.gr.jp/cards/000081/card53380.html

花壇工作:../cards/000081/card48220.html
 => http://www.aozora.gr.jp/cards/000081/card48220.html

家長制度:../cards/000081/card43036.html
 => http://www.aozora.gr.jp/cards/000081/card43036.html

月天讃歌(擬古調):../cards/000081/card53382.html
 => http://www.aozora.gr.jp/cards/000081/card53382.html

ガドルフの百合:../cards/000081/card455.html
 => http://www.aozora.gr.jp/cards/000081/card455.html

釜石よりの帰り:../cards/000081/card53409.html
 => http://www.aozora.gr.jp/cards/000081/card53409.html

烏の北斗七星:../cards/000081/card1928.html
 => http://www.aozora.gr.jp/cards/000081/card1928.html

烏の北斗七星:../cards/000081/card43755.html
 => http://www.aozora.gr.jp/cards/000081/card43755.html

雁の童子:../cards/000081/card461.html
 => http://www.aozora.gr.jp/cards/000081/card461.html

革トランク:../cards/000081/card4426.html
 => http://www.aozora.gr.jp/cards/000081/card4426.html

看痾:../cards/000081/card53411.html
 => http://www.aozora.gr.jp/cards/000081/card53411.html

〔甘藍の球は弾けて〕:../cards/000081/card53374.html
 => http://www.aozora.gr.jp/cards/000081/card53374.html

黄いろのトマト:../cards/000081/card1919.html
 => http://www.aozora.gr.jp/cards/000081/card1919.html

機会:../cards/000081/card53392.html
 => http://www.aozora.gr.jp/cards/000081/card53392.html

饑餓陣営:../cards/000081/card1921.html
 => http://www.aozora.gr.jp/cards/000081/card1921.html

疑獄元兇:../cards/000081/card48221.html
 => http://www.aozora.gr.jp/cards/000081/card48221.html

気のいい火山弾:../cards/000081/card46606.html
 => http://www.aozora.gr.jp/cards/000081/card46606.html

気のいい火山弾:../cards/000081/card4440.html
 => http://www.aozora.gr.jp/cards/000081/card4440.html

饗宴:../cards/000081/card53361.html
 => http://www.aozora.gr.jp/cards/000081/card53361.html

銀河鉄道の夜:../cards/000081/card43737.html
 => http://www.aozora.gr.jp/cards/000081/card43737.html

銀河鉄道の夜:../cards/000081/card46322.html
 => http://www.aozora.gr.jp/cards/000081/card46322.html

銀河鉄道の夜:../cards/000081/card456.html
 => http://www.aozora.gr.jp/cards/000081/card456.html

グスコーブドリの伝記:../cards/000081/card1924.html
 => http://www.aozora.gr.jp/cards/000081/card1924.html

クねずみ:../cards/000081/card1946.html
 => http://www.aozora.gr.jp/cards/000081/card1946.html

蜘蛛となめくじと狸:../cards/000081/card4602.html
 => http://www.aozora.gr.jp/cards/000081/card4602.html

〔くもにつらなるでこぼこがらす〕:../cards/000081/card53435.html
 => http://www.aozora.gr.jp/cards/000081/card53435.html

〔雲ふかく 山裳を曳けば〕:../cards/000081/card53407.html
 => http://www.aozora.gr.jp/cards/000081/card53407.html

〔雲を濾し〕:../cards/000081/card53383.html
 => http://www.aozora.gr.jp/cards/000081/card53383.html

車:../cards/000081/card4409.html
 => http://www.aozora.gr.jp/cards/000081/card4409.html

黒ぶだう:../cards/000081/card4408.html
 => http://www.aozora.gr.jp/cards/000081/card4408.html

〔郡属伊原忠右エ門〕:../cards/000081/card53368.html
 => http://www.aozora.gr.jp/cards/000081/card53368.html

訓導:../cards/000081/card53381.html
 => http://www.aozora.gr.jp/cards/000081/card53381.html

〔月光の鉛のなかに〕:../cards/000081/card53386.html
 => http://www.aozora.gr.jp/cards/000081/card53386.html

虔十公園林:../cards/000081/card4410.html
 => http://www.aozora.gr.jp/cards/000081/card4410.html

虔十公園林:../cards/000081/card46601.html
 => http://www.aozora.gr.jp/cards/000081/card46601.html

幻想:../cards/000081/card53356.html
 => http://www.aozora.gr.jp/cards/000081/card53356.html

県道:../cards/000081/card53428.html
 => http://www.aozora.gr.jp/cards/000081/card53428.html

恋:../cards/000081/card53388.html
 => http://www.aozora.gr.jp/cards/000081/card53388.html

耕耘部の時計:../cards/000081/card4439.html
 => http://www.aozora.gr.jp/cards/000081/card4439.html

耕耘部の時計:../cards/000081/card50762.html
 => http://www.aozora.gr.jp/cards/000081/card50762.html

講後:../cards/000081/card53350.html
 => http://www.aozora.gr.jp/cards/000081/card53350.html

〔洪積の台のはてなる〕:../cards/000081/card53370.html
 => http://www.aozora.gr.jp/cards/000081/card53370.html

校庭:../cards/000081/card53400.html
 => http://www.aozora.gr.jp/cards/000081/card53400.html

氷と後光:../cards/000081/card4882.html
 => http://www.aozora.gr.jp/cards/000081/card4882.html

国柱会:../cards/000081/card53405.html
 => http://www.aozora.gr.jp/cards/000081/card53405.html

〔こはドロミット洞窟の〕:../cards/000081/card53418.html
 => http://www.aozora.gr.jp/cards/000081/card53418.html

こゝろ:../cards/000081/card53360.html
 => http://www.aozora.gr.jp/cards/000081/card53360.html

〔こゝろの影を恐るなと〕:../cards/000081/card53440.html
 => http://www.aozora.gr.jp/cards/000081/card53440.html

〔このみちの醸すがごとく〕:../cards/000081/card53416.html
 => http://www.aozora.gr.jp/cards/000081/card53416.html

〔こんにやくの〕:../cards/000081/card53362.html
 => http://www.aozora.gr.jp/cards/000081/card53362.html

さいかち淵:../cards/000081/card468.html
 => http://www.aozora.gr.jp/cards/000081/card468.html

さいかち淵:../cards/000081/card50763.html
 => http://www.aozora.gr.jp/cards/000081/card50763.html

祭日〔二〕:../cards/000081/card53410.html
 => http://www.aozora.gr.jp/cards/000081/card53410.html

サガレンと八月:../cards/000081/card45658.html
 => http://www.aozora.gr.jp/cards/000081/card45658.html

〔鷺はひかりの空に餓ゑ〕:../cards/000081/card53373.html
 => http://www.aozora.gr.jp/cards/000081/card53373.html

ざしき童子のはなし:../cards/000081/card2656.html
 => http://www.aozora.gr.jp/cards/000081/card2656.html

さるのこしかけ:../cards/000081/card469.html
 => http://www.aozora.gr.jp/cards/000081/card469.html

山地の稜:../cards/000081/card4469.html
 => http://www.aozora.gr.jp/cards/000081/card4469.html

シグナルとシグナレス:../cards/000081/card2655.html
 => http://www.aozora.gr.jp/cards/000081/card2655.html

紫紺染について:../cards/000081/card1937.html
 => http://www.aozora.gr.jp/cards/000081/card1937.html

鹿踊りのはじまり:../cards/000081/card1923.html
 => http://www.aozora.gr.jp/cards/000081/card1923.html

鹿踊りのはじまり:../cards/000081/card43760.html
 => http://www.aozora.gr.jp/cards/000081/card43760.html

四八 黄泉路:../cards/000081/card53394.html
 => http://www.aozora.gr.jp/cards/000081/card53394.html

疾中:../cards/000081/card471.html
 => http://www.aozora.gr.jp/cards/000081/card471.html

詩ノート:../cards/000081/card47029.html
 => http://www.aozora.gr.jp/cards/000081/card47029.html

〔島わにあらき潮騒を〕:../cards/000081/card53444.html
 => http://www.aozora.gr.jp/cards/000081/card53444.html

〔霜枯れのトマトの気根〕:../cards/000081/card53420.html
 => http://www.aozora.gr.jp/cards/000081/card53420.html

〔霧降る萱の細みちに〕:../cards/000081/card53353.html
 => http://www.aozora.gr.jp/cards/000081/card53353.html

十月の末:../cards/000081/card46602.html
 => http://www.aozora.gr.jp/cards/000081/card46602.html

十月の末:../cards/000081/card4442.html
 => http://www.aozora.gr.jp/cards/000081/card4442.html

十六日:../cards/000081/card45653.html
 => http://www.aozora.gr.jp/cards/000081/card45653.html

樹園:../cards/000081/card53346.html
 => http://www.aozora.gr.jp/cards/000081/card53346.html

〔棕梠の葉やゝに痙攣し〕:../cards/000081/card53415.html
 => http://www.aozora.gr.jp/cards/000081/card53415.html

春章作中判:../cards/000081/card53358.html
 => http://www.aozora.gr.jp/cards/000081/card53358.html

小祠:../cards/000081/card53423.html
 => http://www.aozora.gr.jp/cards/000081/card53423.html

職員室:../cards/000081/card53378.html
 => http://www.aozora.gr.jp/cards/000081/card53378.html

植物医師:../cards/000081/card42346.html
 => http://www.aozora.gr.jp/cards/000081/card42346.html

水仙月の四日:../cards/000081/card43757.html
 => http://www.aozora.gr.jp/cards/000081/card43757.html

水仙月の四日:../cards/000081/card1930.html
 => http://www.aozora.gr.jp/cards/000081/card1930.html

水部の線:../cards/000081/card53365.html
 => http://www.aozora.gr.jp/cards/000081/card53365.html

スタンレー探検隊に対する二人のコンゴー土人の演説:../cards/000081/card53433.html
 => http://www.aozora.gr.jp/cards/000081/card53433.html

隅田川:../cards/000081/card53347.html
 => http://www.aozora.gr.jp/cards/000081/card53347.html

製炭小屋:../cards/000081/card53413.html
 => http://www.aozora.gr.jp/cards/000081/card53413.html

〔聖なる窓〕:../cards/000081/card53426.html
 => http://www.aozora.gr.jp/cards/000081/card53426.html

税務署長の冒険:../cards/000081/card1941.html
 => http://www.aozora.gr.jp/cards/000081/card1941.html

雪峡:../cards/000081/card53391.html
 => http://www.aozora.gr.jp/cards/000081/card53391.html

〔せなうち痛み息熱く〕:../cards/000081/card53431.html
 => http://www.aozora.gr.jp/cards/000081/card53431.html

セレナーデ 恋歌:../cards/000081/card53372.html
 => http://www.aozora.gr.jp/cards/000081/card53372.html

セロ弾きのゴーシュ:../cards/000081/card470.html
 => http://www.aozora.gr.jp/cards/000081/card470.html

僧園:../cards/000081/card53408.html
 => http://www.aozora.gr.jp/cards/000081/card53408.html

宗谷〔一〕:../cards/000081/card53412.html
 => http://www.aozora.gr.jp/cards/000081/card53412.html

宗谷〔二〕:../cards/000081/card53414.html
 => http://www.aozora.gr.jp/cards/000081/card53414.html

〔蒼冷と純黒〕:../cards/000081/card48200.html
 => http://www.aozora.gr.jp/cards/000081/card48200.html

〔そのかたち収得に似て〕:../cards/000081/card53397.html
 => http://www.aozora.gr.jp/cards/000081/card53397.html

台川:../cards/000081/card50764.html
 => http://www.aozora.gr.jp/cards/000081/card50764.html

台川:../cards/000081/card4416.html
 => http://www.aozora.gr.jp/cards/000081/card4416.html

対酌:../cards/000081/card53424.html
 => http://www.aozora.gr.jp/cards/000081/card53424.html

大礼服の例外的効果:../cards/000081/card48223.html
 => http://www.aozora.gr.jp/cards/000081/card48223.html

宅地:../cards/000081/card53396.html
 => http://www.aozora.gr.jp/cards/000081/card53396.html

〔たゞかたくなのみをわぶる〕:../cards/000081/card53395.html
 => http://www.aozora.gr.jp/cards/000081/card53395.html

谷:../cards/000081/card1107.html
 => http://www.aozora.gr.jp/cards/000081/card1107.html

谷:../cards/000081/card46603.html
 => http://www.aozora.gr.jp/cards/000081/card46603.html

種山ヶ原:../cards/000081/card4424.html
 => http://www.aozora.gr.jp/cards/000081/card4424.html

種山ヶ原:../cards/000081/card50767.html
 => http://www.aozora.gr.jp/cards/000081/card50767.html

タネリはたしかにいちにち噛んでいたようだった:../cards/000081/card4600.html
 => http://www.aozora.gr.jp/cards/000081/card4600.html

丹藤川〔「家長制度」先駆形〕:../cards/000081/card48201.html
 => http://www.aozora.gr.jp/cards/000081/card48201.html

中尊寺〔二〕:../cards/000081/card53438.html
 => http://www.aozora.gr.jp/cards/000081/card53438.html

注文の多い料理店:../cards/000081/card43754.html
 => http://www.aozora.gr.jp/cards/000081/card43754.html

注文の多い料理店:../cards/000081/card1927.html
 => http://www.aozora.gr.jp/cards/000081/card1927.html

『注文の多い料理店』広告文:../cards/000081/card43733.html
 => http://www.aozora.gr.jp/cards/000081/card43733.html

『注文の多い料理店』序:../cards/000081/card43736.html
 => http://www.aozora.gr.jp/cards/000081/card43736.html

『注文の多い料理店』序:../cards/000081/card43735.html
 => http://www.aozora.gr.jp/cards/000081/card43735.html

『注文の多い料理店』新刊案内:../cards/000081/card43734.html
 => http://www.aozora.gr.jp/cards/000081/card43734.html

チュウリップの幻術:../cards/000081/card4087.html
 => http://www.aozora.gr.jp/cards/000081/card4087.html

ツェねずみ:../cards/000081/card1949.html
 => http://www.aozora.gr.jp/cards/000081/card1949.html

月夜のけだもの:../cards/000081/card4420.html
 => http://www.aozora.gr.jp/cards/000081/card4420.html

月夜のでんしんばしら:../cards/000081/card1929.html
 => http://www.aozora.gr.jp/cards/000081/card1929.html

月夜のでんしんばしら:../cards/000081/card43756.html
 => http://www.aozora.gr.jp/cards/000081/card43756.html

月夜のでんしんばしらの軍歌:../cards/000081/card46266.html
 => http://www.aozora.gr.jp/cards/000081/card46266.html

土神ときつね:../cards/000081/card46607.html
 => http://www.aozora.gr.jp/cards/000081/card46607.html

土神と狐:../cards/000081/card4436.html
 => http://www.aozora.gr.jp/cards/000081/card4436.html

〔土をも掘らん汗もせん〕:../cards/000081/card53436.html
 => http://www.aozora.gr.jp/cards/000081/card53436.html

〔つめたき朝の真鍮に〕:../cards/000081/card53379.html
 => http://www.aozora.gr.jp/cards/000081/card53379.html

手紙 一:../cards/000081/card45654.html
 => http://www.aozora.gr.jp/cards/000081/card45654.html

手紙 三:../cards/000081/card45655.html
 => http://www.aozora.gr.jp/cards/000081/card45655.html

手紙 二:../cards/000081/card45656.html
 => http://www.aozora.gr.jp/cards/000081/card45656.html

手紙 四:../cards/000081/card45657.html
 => http://www.aozora.gr.jp/cards/000081/card45657.html

田園迷信:../cards/000081/card53345.html
 => http://www.aozora.gr.jp/cards/000081/card53345.html

電車:../cards/000081/card4467.html
 => http://www.aozora.gr.jp/cards/000081/card4467.html

毒蛾:../cards/000081/card4425.html
 => http://www.aozora.gr.jp/cards/000081/card4425.html

毒もみのすきな署長さん:../cards/000081/card454.html
 => http://www.aozora.gr.jp/cards/000081/card454.html

床屋:../cards/000081/card4468.html
 => http://www.aozora.gr.jp/cards/000081/card4468.html

図書館幻想:../cards/000081/card4884.html
 => http://www.aozora.gr.jp/cards/000081/card4884.html

とっこべとら子:../cards/000081/card1936.html
 => http://www.aozora.gr.jp/cards/000081/card1936.html

鳥箱先生とフウねずみ:../cards/000081/card1947.html
 => http://www.aozora.gr.jp/cards/000081/card1947.html

鳥をとるやなぎ:../cards/000081/card4085.html
 => http://www.aozora.gr.jp/cards/000081/card4085.html

どんぐりと山猫:../cards/000081/card1925.html
 => http://www.aozora.gr.jp/cards/000081/card1925.html

どんぐりと山猫:../cards/000081/card43752.html
 => http://www.aozora.gr.jp/cards/000081/card43752.html

〔ながれたり〕:../cards/000081/card53359.html
 => http://www.aozora.gr.jp/cards/000081/card53359.html

〔なべてはしけく よそほひて〕:../cards/000081/card53406.html
 => http://www.aozora.gr.jp/cards/000081/card53406.html

〔鉛のいろの冬海の〕:../cards/000081/card53422.html
 => http://www.aozora.gr.jp/cards/000081/card53422.html

なめとこ山の熊:../cards/000081/card1939.html
 => http://www.aozora.gr.jp/cards/000081/card1939.html

楢ノ木大学士の野宿:../cards/000081/card4438.html
 => http://www.aozora.gr.jp/cards/000081/card4438.html

楢ノ木大学士の野宿:../cards/000081/card46608.html
 => http://www.aozora.gr.jp/cards/000081/card46608.html

虹の絵の具皿:../cards/000081/card2658.html
 => http://www.aozora.gr.jp/cards/000081/card2658.html

二十六夜:../cards/000081/card46604.html
 => http://www.aozora.gr.jp/cards/000081/card46604.html

二十六夜:../cards/000081/card4427.html
 => http://www.aozora.gr.jp/cards/000081/card4427.html

沼森:../cards/000081/card48202.html
 => http://www.aozora.gr.jp/cards/000081/card48202.html

猫:../cards/000081/card48203.html
 => http://www.aozora.gr.jp/cards/000081/card48203.html

猫の事務所:../cards/000081/card464.html
 => http://www.aozora.gr.jp/cards/000081/card464.html

農学校歌:../cards/000081/card53443.html
 => http://www.aozora.gr.jp/cards/000081/card53443.html

農民芸術概論:../cards/000081/card465.html
 => http://www.aozora.gr.jp/cards/000081/card465.html

農民芸術概論綱要:../cards/000081/card2386.html
 => http://www.aozora.gr.jp/cards/000081/card2386.html

農民芸術の興隆:../cards/000081/card45631.html
 => http://www.aozora.gr.jp/cards/000081/card45631.html

バキチの仕事:../cards/000081/card45659.html
 => http://www.aozora.gr.jp/cards/000081/card45659.html

雹雲砲手:../cards/000081/card53351.html
 => http://www.aozora.gr.jp/cards/000081/card53351.html

化物丁場:../cards/000081/card4415.html
 => http://www.aozora.gr.jp/cards/000081/card4415.html

凾館港春夜光景:../cards/000081/card3060.html
 => http://www.aozora.gr.jp/cards/000081/card3060.html

畑のへり:../cards/000081/card4419.html
 => http://www.aozora.gr.jp/cards/000081/card4419.html

八戸:../cards/000081/card53348.html
 => http://www.aozora.gr.jp/cards/000081/card53348.html

〔廿日月かざす刃は音無しの〕:../cards/000081/card53446.html
 => http://www.aozora.gr.jp/cards/000081/card53446.html

花巻農学校精神歌:../cards/000081/card46267.html
 => http://www.aozora.gr.jp/cards/000081/card46267.html

花椰菜:../cards/000081/card4466.html
 => http://www.aozora.gr.jp/cards/000081/card4466.html

林の底:../cards/000081/card4437.html
 => http://www.aozora.gr.jp/cards/000081/card4437.html

隼人:../cards/000081/card53430.html
 => http://www.aozora.gr.jp/cards/000081/card53430.html

茨海小学校:../cards/000081/card4086.html
 => http://www.aozora.gr.jp/cards/000081/card4086.html

『春と修羅』:../cards/000081/card1058.html
 => http://www.aozora.gr.jp/cards/000081/card1058.html

春と修羅:../cards/000081/card457.html
 => http://www.aozora.gr.jp/cards/000081/card457.html

春と修羅 第三集:../cards/000081/card47028.html
 => http://www.aozora.gr.jp/cards/000081/card47028.html

春と修羅 第二集:../cards/000081/card47027.html
 => http://www.aozora.gr.jp/cards/000081/card47027.html

『春と修羅』補遺:../cards/000081/card43040.html
 => http://www.aozora.gr.jp/cards/000081/card43040.html

ひかりの素足:../cards/000081/card458.html
 => http://www.aozora.gr.jp/cards/000081/card458.html

秘境:../cards/000081/card53419.html
 => http://www.aozora.gr.jp/cards/000081/card53419.html

〔卑屈の友らをいきどほろしく〕:../cards/000081/card53366.html
 => http://www.aozora.gr.jp/cards/000081/card53366.html

ビジテリアン大祭:../cards/000081/card2589.html
 => http://www.aozora.gr.jp/cards/000081/card2589.html

〔ひとひははかなくことばをくだし〕:../cards/000081/card53432.html
 => http://www.aozora.gr.jp/cards/000081/card53432.html

ひのきとひなげし:../cards/000081/card1920.html
 => http://www.aozora.gr.jp/cards/000081/card1920.html

火の島:../cards/000081/card53445.html
 => http://www.aozora.gr.jp/cards/000081/card53445.html

氷河鼠の毛皮:../cards/000081/card1934.html
 => http://www.aozora.gr.jp/cards/000081/card1934.html

病中幻想:../cards/000081/card53389.html
 => http://www.aozora.gr.jp/cards/000081/card53389.html

火渡り:../cards/000081/card53439.html
 => http://www.aozora.gr.jp/cards/000081/card53439.html

不軽菩薩:../cards/000081/card53425.html
 => http://www.aozora.gr.jp/cards/000081/card53425.html

〔二川こゝにて会したり〕:../cards/000081/card53403.html
 => http://www.aozora.gr.jp/cards/000081/card53403.html

双子の星:../cards/000081/card459.html
 => http://www.aozora.gr.jp/cards/000081/card459.html

二人の役人:../cards/000081/card1064.html
 => http://www.aozora.gr.jp/cards/000081/card1064.html

二人の役人:../cards/000081/card50765.html
 => http://www.aozora.gr.jp/cards/000081/card50765.html

葡萄水:../cards/000081/card1940.html
 => http://www.aozora.gr.jp/cards/000081/card1940.html

フランドン農学校の豚:../cards/000081/card4601.html
 => http://www.aozora.gr.jp/cards/000081/card4601.html

文語詩稿 一百篇:../cards/000081/card4462.html
 => http://www.aozora.gr.jp/cards/000081/card4462.html

文語詩稿 五十篇:../cards/000081/card4461.html
 => http://www.aozora.gr.jp/cards/000081/card4461.html

ペンネンネンネンネン・ネネムの伝記:../cards/000081/card33195.html
 => http://www.aozora.gr.jp/cards/000081/card33195.html

ペンネンノルデはいまはいないよ 太陽にできた黒い棘をとりに行ったよ:../cards/000081/card45309.html
 => http://www.aozora.gr.jp/cards/000081/card45309.html

北守将軍と三人兄弟の医者:../cards/000081/card1944.html
 => http://www.aozora.gr.jp/cards/000081/card1944.html

星めぐりの歌:../cards/000081/card46268.html
 => http://www.aozora.gr.jp/cards/000081/card46268.html

ポラーノの広場:../cards/000081/card1935.html
 => http://www.aozora.gr.jp/cards/000081/card1935.html

洞熊学校を卒業した三人:../cards/000081/card4418.html
 => http://www.aozora.gr.jp/cards/000081/card4418.html

ポランの広場:../cards/000081/card467.html
 => http://www.aozora.gr.jp/cards/000081/card467.html

マグノリアの木:../cards/000081/card463.html
 => http://www.aozora.gr.jp/cards/000081/card463.html

〔ま青きそらの風をふるはし〕:../cards/000081/card53384.html
 => http://www.aozora.gr.jp/cards/000081/card53384.html

祭の晩:../cards/000081/card1938.html
 => http://www.aozora.gr.jp/cards/000081/card1938.html

まなづるとダァリヤ:../cards/000081/card4422.html
 => http://www.aozora.gr.jp/cards/000081/card4422.html

〔まひるつとめにまぎらひて〕:../cards/000081/card53369.html
 => http://www.aozora.gr.jp/cards/000081/card53369.html

マリヴロンと少女:../cards/000081/card1922.html
 => http://www.aozora.gr.jp/cards/000081/card1922.html

みじかい木ぺん:../cards/000081/card45473.html
 => http://www.aozora.gr.jp/cards/000081/card45473.html

めくらぶどうと虹:../cards/000081/card1077.html
 => http://www.aozora.gr.jp/cards/000081/card1077.html

〔モザイク成り〕:../cards/000081/card53441.html
 => http://www.aozora.gr.jp/cards/000081/card53441.html

〔最も親しき友らにさへこれを秘して〕:../cards/000081/card53385.html
 => http://www.aozora.gr.jp/cards/000081/card53385.html

〔館は台地のはななれば〕:../cards/000081/card53402.html
 => http://www.aozora.gr.jp/cards/000081/card53402.html

柳沢:../cards/000081/card4465.html
 => http://www.aozora.gr.jp/cards/000081/card4465.html

敗れし少年の歌へる:../cards/000081/card53434.html
 => http://www.aozora.gr.jp/cards/000081/card53434.html

山男の四月:../cards/000081/card43758.html
 => http://www.aozora.gr.jp/cards/000081/card43758.html

山男の四月:../cards/000081/card1931.html
 => http://www.aozora.gr.jp/cards/000081/card1931.html

やまなし:../cards/000081/card46605.html
 => http://www.aozora.gr.jp/cards/000081/card46605.html

やまなし:../cards/000081/card472.html
 => http://www.aozora.gr.jp/cards/000081/card472.html

遊園地工作:../cards/000081/card53349.html
 => http://www.aozora.gr.jp/cards/000081/card53349.html

〔夕陽は青めりかの山裾に〕:../cards/000081/card53442.html
 => http://www.aozora.gr.jp/cards/000081/card53442.html

〔ゆがみつゝ月は出で〕:../cards/000081/card53371.html
 => http://www.aozora.gr.jp/cards/000081/card53371.html

〔雪とひのきの坂上に〕:../cards/000081/card53421.html
 => http://www.aozora.gr.jp/cards/000081/card53421.html

雪渡り:../cards/000081/card2543.html
 => http://www.aozora.gr.jp/cards/000081/card2543.html

雪渡り:../cards/000081/card45679.html
 => http://www.aozora.gr.jp/cards/000081/card45679.html

〔弓のごとく〕:../cards/000081/card53364.html
 => http://www.aozora.gr.jp/cards/000081/card53364.html

百合を掘る:../cards/000081/card53404.html
 => http://www.aozora.gr.jp/cards/000081/card53404.html

楊林:../cards/000081/card53354.html
 => http://www.aozora.gr.jp/cards/000081/card53354.html

よく利く薬とえらい薬:../cards/000081/card4441.html
 => http://www.aozora.gr.jp/cards/000081/card4441.html

よだかの星:../cards/000081/card473.html
 => http://www.aozora.gr.jp/cards/000081/card473.html

四又の百合:../cards/000081/card1116.html
 => http://www.aozora.gr.jp/cards/000081/card1116.html

ラジュウムの雁:../cards/000081/card4864.html
 => http://www.aozora.gr.jp/cards/000081/card4864.html

龍と詩人:../cards/000081/card4865.html
 => http://www.aozora.gr.jp/cards/000081/card4865.html

〔りんごのみきのはひのひかり〕:../cards/000081/card53375.html
 => http://www.aozora.gr.jp/cards/000081/card53375.html

〔昤々としてひかれるは〕:../cards/000081/card53377.html
 => http://www.aozora.gr.jp/cards/000081/card53377.html

若い木霊:../cards/000081/card43801.html
 => http://www.aozora.gr.jp/cards/000081/card43801.html

〔われかのひとをこととふに〕:../cards/000081/card53367.html
 => http://www.aozora.gr.jp/cards/000081/card53367.html

〔われ聴衆に会釈して〕:../cards/000081/card53357.html
 => http://www.aozora.gr.jp/cards/000081/card53357.html

〔われはダルケを名乗れるものと〕:../cards/000081/card53427.html
 => http://www.aozora.gr.jp/cards/000081/card53427.html

〔われらが書に順ひて〕:../cards/000081/card53355.html
 => http://www.aozora.gr.jp/cards/000081/card53355.html

〔われらひとしく丘に立ち〕:../cards/000081/card53393.html
 => http://www.aozora.gr.jp/cards/000081/card53393.html

作業中 作家別作品一覧:宮沢 賢治:list_inp81_1.html
 => http://www.aozora.gr.jp/index_pages/list_inp81_1.html

▲:#top
 => http://www.aozora.gr.jp/index_pages/person81.html#top

[あ]:person_a.html
 => http://www.aozora.gr.jp/index_pages/person_a.html

[か]:person_ka.html
 => http://www.aozora.gr.jp/index_pages/person_ka.html

[さ]:person_sa.html
 => http://www.aozora.gr.jp/index_pages/person_sa.html

[た]:person_ta.html
 => http://www.aozora.gr.jp/index_pages/person_ta.html

[な]:person_na.html
 => http://www.aozora.gr.jp/index_pages/person_na.html

[は]:person_ha.html
 => http://www.aozora.gr.jp/index_pages/person_ha.html

[ま]:person_ma.html
 => http://www.aozora.gr.jp/index_pages/person_ma.html

[や]:person_ya.html
 => http://www.aozora.gr.jp/index_pages/person_ya.html

[ら]:person_ra.html
 => http://www.aozora.gr.jp/index_pages/person_ra.html

[わ]:person_wa.html
 => http://www.aozora.gr.jp/index_pages/person_wa.html

[他]:person_zz.html
 => http://www.aozora.gr.jp/index_pages/person_zz.html

[あ]:person_inp_a.html
 => http://www.aozora.gr.jp/index_pages/person_inp_a.html

[か]:person_inp_ka.html
 => http://www.aozora.gr.jp/index_pages/person_inp_ka.html

[さ]:person_inp_sa.html
 => http://www.aozora.gr.jp/index_pages/person_inp_sa.html

[た]:person_inp_ta.html
 => http://www.aozora.gr.jp/index_pages/person_inp_ta.html

[な]:person_inp_na.html
 => http://www.aozora.gr.jp/index_pages/person_inp_na.html

[は]:person_inp_ha.html
 => http://www.aozora.gr.jp/index_pages/person_inp_ha.html

[ま]:person_inp_ma.html
 => http://www.aozora.gr.jp/index_pages/person_inp_ma.html

[や]:person_inp_ya.html
 => http://www.aozora.gr.jp/index_pages/person_inp_ya.html

[ら]:person_inp_ra.html
 => http://www.aozora.gr.jp/index_pages/person_inp_ra.html

[わ]:person_inp_wa.html
 => http://www.aozora.gr.jp/index_pages/person_inp_wa.html

[他]:person_inp_zz.html
 => http://www.aozora.gr.jp/index_pages/person_inp_zz.html

[あ]:person_all_a.html
 => http://www.aozora.gr.jp/index_pages/person_all_a.html

[か]:person_all_ka.html
 => http://www.aozora.gr.jp/index_pages/person_all_ka.html

[さ]:person_all_sa.html
 => http://www.aozora.gr.jp/index_pages/person_all_sa.html

[た]:person_all_ta.html
 => http://www.aozora.gr.jp/index_pages/person_all_ta.html

[な]:person_all_na.html
 => http://www.aozora.gr.jp/index_pages/person_all_na.html

[は]:person_all_ha.html
 => http://www.aozora.gr.jp/index_pages/person_all_ha.html

[ま]:person_all_ma.html
 => http://www.aozora.gr.jp/index_pages/person_all_ma.html

[や]:person_all_ya.html
 => http://www.aozora.gr.jp/index_pages/person_all_ya.html

[ら]:person_all_ra.html
 => http://www.aozora.gr.jp/index_pages/person_all_ra.html

[わ]:person_all_wa.html
 => http://www.aozora.gr.jp/index_pages/person_all_wa.html

[他]:person_all_zz.html
 => http://www.aozora.gr.jp/index_pages/person_all_zz.html

トップ:../index.html
 => http://www.aozora.gr.jp/index.html

インデックス:index_top.html
 => http://www.aozora.gr.jp/index_pages/index_top.html

全:index_all.html
 => http://www.aozora.gr.jp/index_pages/index_all.html

今日の作業


  • MySQLとPHPをインストール
  • ブログをGoogle AnalyticsとGoogleへインデックスされるためにGoogleウェブマスターツールへ登録をした
  • Node.jsのインストールとクローリングの基礎のさわりをやってみた

今日ははかどった1日だった!