今年から、FTを紙で購読してる。毎日1-2時間読んでるという暇人なんだけど、それでも5分の一も読めてないような気がする。たぶん、リーディングスピードも200words/m 前後だろうし、意味が取れなくて、読み返しも多いしと、困難は多い。
現状の問題は、二つ。
音に変換しないと読めない状態、と、知らない単語がでてくること。
前者は、根本的な英語能力の欠如もあるが、昔SP速読学院でやった単語の自動認識速度を上げる訓練が必要。(ソフトを自分用に作る必要があるかな、、)
で、一般的にも問題になる後者なんだが、対策としては、事前に難しい単語は抽出して、日本語の訳を付けた単語リストを見てから、実際の英文を読むと、、公文式英語もこんな感じでやってる。
で、それをFTでも実現しようと。
ここまでが、前振り。
で、この実現手順は、
1.FTのRSSを拾ってきて、そこから全文の文章を持ってくる。
これには、praggerを使った。plaggerを使いたいけど、perl知らないし。知ってる言語がrubyとjavascriptしかないので。で、テキストに保存。(読むときは、[,.]に関しては、改行を二つ入れるとスラッシュリーディングな感じがでる。(今は、windowsのgvimで読んでいる、折畳とか使えるといいけど、まだそこは使えてない)
素人のコードだけど、動いてるようなので、さらす。
ついでに、ftの有料会員にならないと、全文とれないかも、、pcで読むだけなら、月$9.2,,ちょっと高いか、、また、英辞郎も有料だった。有料コンテンツ使用なので、個人の範囲でしか使えない、、
praggerのpluginとして機能。
class FtHtmlFetcher
def initialize(id,password)
@id = id
@password = password
@agent = WWW::Mechanize.new
@page = @agent.get("http://media.ft.com/h/subs")
end
def login
login_form = @page.forms.first
login_form['name'] = @id
login_form['password'] = @password
redirect_page = @agent.submit(login_form)
end
def get(url)
@agent.get(url).body
end
end
def get_ft(config, data)
require 'rubygems'
require 'mechanize'
require "hpricot"
require 'kconv'
html = FtHtmlFetcher.new(config['user_id'], config['password'])
html.login
list = Hash.new(0)
ret = data.map do |line|
str = ""
doc = Hpricot(html.get(line.link))
doc.search("script").remove
a = doc.search("div.ft-story-header h2").first
t = doc.search("div.ft-story-header p")
str += "\n---TITLE
---
0 件のコメント:
コメントを投稿