ラベル node.js の投稿を表示しています。 すべての投稿を表示
ラベル node.js の投稿を表示しています。 すべての投稿を表示

2015年11月16日月曜日

node.jsでRSSをパースする

このエントリーをはてなブックマークに追加
この前までクローリングとかやったので、今度はRSSをパースしてみる。

ここでnodeでXMLを読み込む際に便利なxml2jsをインストールしておく
# /usr/local/node/bin/npm install xml2js
xml2js@0.4.15 node_modules/xml2js
├── sax@1.1.4
└── xmlbuilder@4.1.0 (lodash@3.10.1)

今回は地元の大阪の週間天気を取り出すことにした。内容はこちら

取得したRSSをパースして天気の内容を取りだす。
// 大阪の週間天気予報RSS
var RSS = "http://rss.weather.yahoo.co.jp/rss/days/6200.xml";

// モジュールの読み込み
var parseString = require('xml2js').parseString;
var request = require('request');

// RSS取得
request(RSS, function(err, response, body){
 if(!err && response.statusCode == 200){
  analyzeRSS(body);
 }
});

// 関数定義
function analyzeRSS(xml){
 // XMLをJSのオブジェクトに変換
 parseString(xml, function(err, obj){
  // エラー処理
  if(err){
   console.log(err);
   return;
  }
  
  // RSS内のあるrss要素の下のchannel要素のitemをすべて取り出す
  var items = obj.rss.channel[0].item;
  
  // item要素の数だけループさせる
  for(var i in items){
   var item = items[i];
   // item内のtitle要素をコンソールに表示
   console.log(item.title[0]);
  }
 });
}

取得した結果はこちら。

# /usr/local/node/bin/node tenki.js
【 16日(月) 大阪(大阪) 】 晴れ - 22℃/12℃ - Yahoo!天気・災害
【 17日(火) 大阪(大阪) 】 曇後雨 - 22℃/14℃ - Yahoo!天気・災害
【 18日(水) 大阪(大阪) 】 曇時々雨 - 21℃/16℃ - Yahoo!天気・災害
【 19日(木) 大阪(大阪) 】 曇時々雨 - 19℃/13℃ - Yahoo!天気・災害
【 20日(金) 大阪(大阪) 】 曇時々晴 - 19℃/11℃ - Yahoo!天気・災害
【 21日(土) 大阪(大阪) 】 晴時々曇 - 18℃/10℃ - Yahoo!天気・災害
【 22日(日) 大阪(大阪) 】 曇時々晴 - 19℃/11℃ - Yahoo!天気・災害
【 23日(月) 大阪(大阪) 】 曇り - 19℃/13℃ - Yahoo!天気・災害
【 大阪市 】警報・注意報はありません - Yahoo!天気・災害
【 北大阪 】警報・注意報はありません - Yahoo!天気・災害
【 東部大阪 】警報・注意報はありません - Yahoo!天気・災害
【 南河内 】警報・注意報はありません - Yahoo!天気・災害
【 泉州 】警報・注意報はありません - Yahoo!天気・災害

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日月曜日

取得したHTMLから画像ファイルだけを抽出してダウンロードする

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


取得したHTMLから画像リンクだけを抽出する。

これはリンクを抽出をした場合とほぼ一緒。aタグかimgタグかだけの違い。

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

var url = "http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8C";
var param = {};

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

結果はこんな感じで上手く取得できた。

//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Disambig_gray.svg/25px-Disambig_gray.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Coat_types_3.jpg/240px-Coat_types_3.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Samoyed_600.jpg/180px-Samoyed_600.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/5/52/Rousou1.jpg/120px-Rousou1.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Shiba_inu_zad_rybnik-kamien_pl.jpg/120px-Shiba_inu_zad_rybnik-kamien_pl.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/af/Golden_retriever_eating_pigs_foot.jpg/200px-Golden_retriever_eating_pigs_foot.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Shiba_inu_profile_01.jpg/200px-Shiba_inu_profile_01.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/0/00/Shiba_inu_eyes.jpg/200px-Shiba_inu_eyes.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Canine_reproduction.jpg/200px-Canine_reproduction.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg/200px-Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Wilde_huendin_am_stillen.jpg/200px-Wilde_huendin_am_stillen.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Shiba_inu_Boston_Terrier_greetings.jpg/200px-Shiba_inu_Boston_Terrier_greetings.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Tesem.jpg/200px-Tesem.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/d/da/%E7%8A%AC-oracle.svg/26px-%E7%8A%AC-oracle.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/2/21/Dog_-_Hata_Rokurozaemon_with_his_dog.jpg/150px-Dog_-_Hata_Rokurozaemon_with_his_dog.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Grande_Boucherie_Canine_a_Paris.jpg/220px-Grande_Boucherie_Canine_a_Paris.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Boldini_-_Madame_Rejane.jpg/215px-Boldini_-_Madame_Rejane.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/8/87/Jomon_People_and_Jomon_Dog.jpg/180px-Jomon_People_and_Jomon_Dog.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/0/02/Inu_ou_mono00.jpg/250px-Inu_ou_mono00.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Tsunyaoshi.jpg/250px-Tsunyaoshi.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/5/52/Border_Collie_sheepdog_trial.jpg/260px-Border_Collie_sheepdog_trial.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Defense.gov_News_Photo_120318-M-MM918-007_-_U.S._Marine_Lance_Cpl._Evan_Frickey_a_dog_handler_with_3rd_Marine_Regiment_plays_with_Cookie_an_improvised_explosive_device_detection_dog_while.jpg/250px-thumbnail.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Dog_attack_%28USAF%29.jpg/220px-Dog_attack_%28USAF%29.jpg
//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikiquote-logo.svg/34px-Wikiquote-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/8/89/Labrador_Retriever_babies.jpg/250px-Labrador_Retriever_babies.jpg
//upload.wikimedia.org/wikipedia/commons/9/91/Dog_galloping.gif
//upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Wiktionary_small.svg/25px-Wiktionary_small.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Wikibooks-logo.svg/23px-Wikibooks-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/24px-Wikisource-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/22px-Commons-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/2/24/Wikinews-logo.svg/27px-Wikinews-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Wikiversity-logo.svg/25px-Wikiversity-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Wikidata-logo.svg/25px-Wikidata-logo.svg.png
//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikispecies-logo.svg/25px-Wikispecies-logo.svg.png
//ja.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1
/static/images/wikimedia-button.png
/static/1.27.0-wmf.5/resources/assets/poweredby_mediawiki_88x31.png

画像の一括ダウンロード

しかし、これも画像ファイルが相対パスなので絶対パスへ変更してあげる。
変更後、これらをすべて一括でダウンロードしてみる。

その時requestモジュールがあると便利なのでインストールしておく。
# /usr/local/node/bin/npm install request
request@2.65.0 ../../node_modules/request
├── aws-sign2@0.6.0
├── forever-agent@0.6.1
├── tunnel-agent@0.4.1
├── caseless@0.11.0
├── oauth-sign@0.8.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 (delayed-stream@1.0.0)
├── mime-types@2.1.7 (mime-db@1.19.0)
├── form-data@1.0.0-rc3 (async@1.5.0)
├── http-signature@0.11.0 (assert-plus@0.1.5, ctype@0.5.3, asn1@0.1.11)
├── hawk@3.1.1 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
├── bl@1.0.0 (readable-stream@2.0.4)
└── har-validator@2.0.2 (pinkie-promise@1.0.0, commander@2.9.0, chalk@1.1.1, is-my-json-valid@2.12.3)

ソースはこんな感じ、ドメイン以降のパスは_に置換して保存するようにしている。
var client = require('cheerio-httpcli');
var URL = require('url');
var fs = require('fs');
var request = require('request');

var savedir = __dirname + "/img";
if(!fs.existsSync(savedir)){
 fs.mkdirSync(savedir);
}

var url = "http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%8C";
var param = {};

/**
 * client.fetch:指定されたURLからHTMLを取得する
 * コールバックfunction:
 *   err:エラー情報
 *   $:取得データ
 *   res:サーバレスポンス
 */
client.fetch(url, param, function(err, $, res){
 if(err){
  console.log("Error", err);
  return;
 }
 $("img").each(function(idx){
  var src = $(this).attr('src');
  src = URL.resolve(url, src);
  var fname = URL.parse(src).pathname;
  fname = savedir + "/" + fname.replace(/[^a-zA-Z0-9\.]+/g, '_');
  request(src).pipe(fs.createWriteStream(fname));
  console.log(src);
 });
});

これで実行ディレクトリ配下にimgフォルダを作成して、そのフォルダにダウンロードした画像が保存される。
_static_1.27.0_wmf.5_resources_assets_poweredby_mediawiki_88x31.png
_static_images_wikimedia_button.png
_wiki_Special_CentralAutoLogin_start
_wikipedia_commons_9_91_Dog_galloping.gif
_wikipedia_commons_thumb_0_00_Shiba_inu_eyes.jpg_200px_Shiba_inu_eyes.jpg
_wikipedia_commons_thumb_0_02_Inu_ou_mono00.jpg_250px_Inu_ou_mono00.jpg
_wikipedia_commons_thumb_1_1e_Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg_200px_Pregnant_female_dog_bitch_mongrel_Jan_2008_Shot_in_Jalandhar_Punjab_India_by_gopal1035_017.jpg
_wikipedia_commons_thumb_2_21_Dog_Hata_Rokurozaemon_with_his_dog.jpg_150px_Dog_Hata_Rokurozaemon_with_his_dog.jpg
_wikipedia_commons_thumb_2_24_Wikinews_logo.svg_27px_Wikinews_logo.svg.png
_wikipedia_commons_thumb_4_4a_Commons_logo.svg_22px_Commons_logo.svg.png
_wikipedia_commons_thumb_4_4c_Wikisource_logo.svg_24px_Wikisource_logo.svg.png
_wikipedia_commons_thumb_5_52_Border_Collie_sheepdog_trial.jpg_260px_Border_Collie_sheepdog_trial.jpg
_wikipedia_commons_thumb_5_52_Rousou1.jpg_120px_Rousou1.jpg
_wikipedia_commons_thumb_5_5f_Disambig_gray.svg_25px_Disambig_gray.svg.png
_wikipedia_commons_thumb_5_5f_Dog_attack_28USAF_29.jpg_220px_Dog_attack_28USAF_29.jpg
_wikipedia_commons_thumb_8_87_Jomon_People_and_Jomon_Dog.jpg_180px_Jomon_People_and_Jomon_Dog.jpg
_wikipedia_commons_thumb_8_89_Labrador_Retriever_babies.jpg_250px_Labrador_Retriever_babies.jpg
_wikipedia_commons_thumb_9_91_Shiba_inu_zad_rybnik_kamien_pl.jpg_120px_Shiba_inu_zad_rybnik_kamien_pl.jpg
_wikipedia_commons_thumb_9_91_Wikiversity_logo.svg_25px_Wikiversity_logo.svg.png
_wikipedia_commons_thumb_9_9a_Boldini_Madame_Rejane.jpg_215px_Boldini_Madame_Rejane.jpg
_wikipedia_commons_thumb_a_a1_Canine_reproduction.jpg_200px_Canine_reproduction.jpg
_wikipedia_commons_thumb_a_a1_Samoyed_600.jpg_180px_Samoyed_600.jpg
_wikipedia_commons_thumb_a_ae_Wilde_huendin_am_stillen.jpg_200px_Wilde_huendin_am_stillen.jpg
_wikipedia_commons_thumb_a_af_Golden_retriever_eating_pigs_foot.jpg_200px_Golden_retriever_eating_pigs_foot.jpg
_wikipedia_commons_thumb_b_b1_Defense.gov_News_Photo_120318_M_MM918_007_U.S._Marine_Lance_Cpl._Evan_Frickey_a_dog_handler_with_3rd_Marine_Regiment_plays_with_Cookie_an_improvised_explosive_device_detection_dog_while.jpg_250px_thumbnail.jpg
_wikipedia_commons_thumb_b_b3_Shiba_inu_profile_01.jpg_200px_Shiba_inu_profile_01.jpg
_wikipedia_commons_thumb_c_c6_Tesem.jpg_200px_Tesem.jpg
_wikipedia_commons_thumb_d_d9_Tsunyaoshi.jpg_250px_Tsunyaoshi.jpg
_wikipedia_commons_thumb_d_da_E7_8A_AC_oracle.svg_26px_E7_8A_AC_oracle.svg.png
_wikipedia_commons_thumb_d_df_Wikispecies_logo.svg_25px_Wikispecies_logo.svg.png
_wikipedia_commons_thumb_e_e3_Coat_types_3.jpg_240px_Coat_types_3.jpg
_wikipedia_commons_thumb_e_eb_Shiba_inu_Boston_Terrier_greetings.jpg_200px_Shiba_inu_Boston_Terrier_greetings.jpg
_wikipedia_commons_thumb_e_ec_Grande_Boucherie_Canine_a_Paris.jpg_220px_Grande_Boucherie_Canine_a_Paris.jpg
_wikipedia_commons_thumb_f_f2_Edit_clear.svg_40px_Edit_clear.svg.png
_wikipedia_commons_thumb_f_f9_Wiktionary_small.svg_25px_Wiktionary_small.svg.png
_wikipedia_commons_thumb_f_fa_Wikibooks_logo.svg_23px_Wikibooks_logo.svg.png
_wikipedia_commons_thumb_f_fa_Wikiquote_logo.svg_34px_Wikiquote_logo.svg.png
_wikipedia_commons_thumb_f_ff_Wikidata_logo.svg_25px_Wikidata_logo.svg.png
こんな感じ。うまいこといった。

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日だった!