解決済みの質問
質問先がこちらでよいのか…
お知恵を拝借したくお願いします。
とあるサイトのリニューアルに参加することになりました。
今までは単純にhtmlファイルで各記事をアップしています。
今回、データベース化しようと言う話になり、過去の個別のhtmlファイルをcsvなどの形式でまとめてくれと言う要望があります。
数にして約16,000ほどあるのでこれを一つずつドラッグ&コピーでcsvに入れていくのは気が遠くなります。
例えば、ダウンロードしたhtmlを一つのフォルダに置き、
そのファイルから<title>タグで囲まれた箇所をtitle項目欄に、2004/01/01と日付記述の箇所をdate欄に、自動的に移してくれるような仕組み、プログラムなどはないでしょうか?
テキスト結合などでやってみましたが余計に訳が分からなくなり…
完全ではなくても作業時間を大幅に短縮できる技があればと思いこちらにお邪魔しました。
どなたかアドバイスを頂戴できればと思います。
よろしくお願いいたします。
投稿日時 - 2010-01-20 13:16:08
>過去の個別のhtmlファイルをcsvなどの形式でまとめてくれと言う要望があります。
csviにしては、かえって取り扱いが難しくなるのでは?
サーバー管理の経験があれば、使い慣れたPerlを使うにしろ、grepコマンドを使うにしろ、高速なSEDを使うにしろ、正規表現→テキストファイルでしょう。
しかし、CSVではなく、XMLファイルにして管理するほうが圧倒的に有利です。
XSolvo html2xml 1.2.0.4 Download - Freeware Files.com - Developer Tools Category ( http://www.freewarefiles.com/XSolvo-Htmlxml_program_15642.html )のようなツールもあります。
投稿日時 - 2010-01-20 14:11:07
お礼
ありがとうございます。
確かにサーバー内で処理できれば早いでしょうね。
ただサーバー管理の経験がなく外注となると費用面で厳しいみたいです。
エディタで単項目(<title>等)は出せるのですが、他の項目もとなると難しいです。
きっと道はあるものと信じて頑張ってみます。
投稿日時 - 2010-01-21 18:15:19
4人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~1件目)
><title>タグで囲まれた箇所をtitle
これはエディタなどでいわゆるgrep処理をすれば簡単ですね。
たいていのテキストエディタでいけると思います。
>2004/01/01と日付記述の箇所をdate欄
これは1ページに日付表示が1か所しかないとか、特定のタグに
囲まれているとかいうならできますが、日付らしきものをひっぱると
膨大になって管理しきれないと思いますがいかがでしょうか?
実際にはこちらもエディタのgrep処理に正規表現ができれば一発です。
投稿日時 - 2010-01-20 13:47:25
お礼
ありがとうございます。
その後も色々と調べてQXエディタとマクロプラグインで結構な量を瞬時に変換できるところまで来ました。
<title>と指定すれば数百でも数秒で抜き出してくれました。
ただこれをCSVに移す手間がありますし、<p>タグなどだと別々に抜き出されるので本文は無理かなと…
同じ事(悩み)を考える人が必ずいるはずだと思うのでもっと頑張ってみます。
投稿日時 - 2010-01-21 18:12:20