[arikui] RSSフィード

2007-03-21

[]名前変換の登録数103626頭になりました 17:33

そういえばTargetとかいうやつの古いデータがあったので、そっからCSV書いて送ればいいんだと気づきました。rubyでCSV書いたときのコード。

require 'jcode'
require 'kconv'

$KCODE = "SJIS"
csvfile = open("name.csv", "w")

Dir.glob("UM_DATA/*/UM*").each{|umfile|
	open(umfile, "r") do |f|
		f.each{|line|
			enname = line[118 .. 197].gsub(/\s+$|\(.+\)/, "")
			next if enname.empty?
			janame = line[46 .. 81].delete(" ")
			janame = janame.center(janame.length+2, "\"")
			enname = enname.center(enname.length+2, "\"")
			csvfile.write([janame, ",", enname, "\n"].join.toutf8)
		}
	end
}

そのままdelete使うと、文字化けるのでjcode利用。あと、下で書いたように酷い失敗をしてしまったのでkconv使ってutf8に変換。

PHPのfgetcsvが"で囲まないとちゃんと識別してくれない。

書き出したCSVはそのままだとサイズ大きすぎるので、split -l 5000 name.csv name.csvとかでファイル分割。それでもファイル数25ぐらいあった。面倒すぎる。

俺の場合わざわざAPIからCSVでじゃなくても、SQLでやればいいと今気づいた。

momdomomdo2007/03/22 20:01>Targetとかいうやつの古いデータがあったので、そっからCSV書いて送ればいいんだと気づきました。
その発想はなかったわ…w
ともあれ、ぐんと量は向上しましたねえ。
とりあえず乙であります。

arikuiarikui2007/03/22 22:18権利関係怪しいですけどね。どうせ気づく人はいないでしょう。ここ読まなければ。

トラックバック - http://tbcenter.g.hatena.ne.jp/arikui/20070321

2007-03-12

[]CSVから取得 18:34

できるようにしました。

日本語
日本語
……
日本語

というCSVファイル(というか単なる改行区切り)を送ると、

日本語,英語
日本語,英語
……
日本語,英語

って風に返されます。

DBのデータ全部Dumpとかはあんまりやる気がしません。要望多そうならやるけど。

詳しくはAPIのページで。

http://tbce.org/search/nameconverter/

トラックバック - http://tbcenter.g.hatena.ne.jp/arikui/20070312

2007-03-07

[]CSVから登録 22:47

できるようにしました。

http://tbce.org/search/nameconverter/

UTF-8で、

日本語1,English1
日本語2,English2
日本語3,English3

ってファイルを作って送ります。

senchousenchou2007/03/08 00:47せっかくだからトラセンの正式コンテンツとしてトップページからリンクしてみませんか?と提案してみます。

senchousenchou2007/03/08 00:49あと、CSV登録が可能になったノリで、既存データのCSV出力等のエクスポート機能があると良いかも、なんて話も。

arikuiarikui2007/03/11 00:16CSV出力に関してはどんな風にやるか検討してみます。
リンクに関してはトップページからやってもらってもいいですけど、そんなに素敵なコンテンツかなw でも、トップページからリンクした方が、もっとデータ登録してもらえるかもしれないですね。

トラックバック - http://tbcenter.g.hatena.ne.jp/arikui/20070307