node.jsを使ってWebページからテキストを取得
jsdomモジュール使うと、http周りの記述しなくて良いから楽だね。
レスポンスヘッダもしくは、メタ要素で指定された文字コード見てUTF-8に変換すれば
もうちょっとましになりそう。
ソース
// getText.js var jsdom = require('jsdom'); function removeElements(list) { for (var i = 0, l = list.length; i < l; i++) { var elem = list[i]; elem.parentNode.removeChild(elem); } } jsdom.env(process.argv[2], function(errors, window) { var body = window.document.body; removeElements(body.getElementsByTagName('script')); removeElements(body.getElementsByTagName('style')); console.log(body.textContent); });
使い方
% node getText.js http://d.hatena.ne.jp/TakiTake/