自由に生きるために奔走する毎日

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Webアプリ「PSO2ショップ検索補助App」

PSO2のマイショップ。
PSUでイルミナス以降に実装されたアイテム名の部分一致検索がありません。

それを補うため「PSO2マイショップ検索補助β」というのが早い段階から有志により提供されています。ただ、アイテム名データの更新が昨年8月末で止まっています。

更新再開予定はあるとのことですが、まだ先のようなので代用品を作成してみました。

PSO2ショップ検索補助Webアプリ
http://matome.naver.jp/odai/2136122831389477501

12/9/12のアップデートで"正規化"と"アイテム名コピー"が実装され、レアアイテム(★10以上)は取引禁止となった今となってはあまり需要がないのかもしれませんが
 「持ってないし名前をぼんやりとしか覚えていないアイテムを検索したい」
といったレアなケースで使用していただければ幸いです。

ビジフォン戦士全盛期が懐かしい。今や昔。
しかしこれだけ制限かけるなら、なんのために用意されてるんでしょうね取引機能。
マイショップとトレードの価値下がったらプレミアム買わずに倉庫だけ買うわい。


さて、機能は「アイテム名の部分一致検索+コピペ」のみです。
使い方や検索ルールについては、前述のまとめに記載してあるのでご参照ください。

以下、開発時のあれやこれやについて。

今回の主題は「アイテム名データ自動生成
小規模データの検索処理自体は何一つ難しいことがない。文字列操作がそれなりに充実してる環境なら30分でできる。問題は日々増えていくアイテムをどう補完していくかだ。

個人レベルでの手動入力は無理がある。とても追いつかない。集合知を頼るに限る。
できれば自動化したい。手動更新は週1でも面倒くさい...といった諸々を勘案して「wikiから定期的に取得してくる」という方針で行くことにした。

htmlを自前でパースするのはシンドイし変更に弱いので今回はYahoo! Pipesを導入。はてブからのJリーグ記事取得では見送ったが、こういう用途には一番向いているだろう。

実際のpipeはこういう感じ

http://pipes.yahoo.com/pipes/pipe.info?_id=881646f58890ec7d67a56697c591e418

(GoogleかFBのアカウントがあれば"ViewSource"から構成を見られはず)

「XPath Fetch Page」でhtmlから必要な部分だけ切り出して1アイテム1エントリに変換している。tableからリンクを含むアイテム名(aタグ)とレアリティを取得して、RSS用にタグをRenameして終わり。簡単。こういう感じでpipeを全部で31個作った。












武器13カテゴリ単位
防具4カテゴリ単位
コスチューム1
パーツ2男女
装飾品4ヘアスタイル、ヘッドパーツ、アクセサリ、ボイス
回復・消耗品1
チケット1
マグデバイス1
ルームグッズ1
ディスク3tableごと


RSSフィードできるようになったら、それを受け取ってcsv出力するツールの作成。
今回はここが一番手間取った。嵌った点を列挙すると...

・受け取ったフィードの中身が腐ってる

 pipeからのRSS生成は正しくできているのにフィードが空だったりエラーになったり。
 最初Google Ajax Feed APIを使用していたのだがこれが間違い。
 詳細はこっちに書いた通りで、jFeed(jquery.jfeed.js)に乗せ換えて解決した。
 これだけで2日かかった...


・ブラウザからのcsv出力がうまくいかない

 ブラウザからローカルファイルを書き出すのがこんなに面倒だとは思わなかった。
 (簡単にできたらセキュリティ的にまずいよね)
 Google先生に聞いていろいろ試したのだがFirefoxではどれもダメで
 結局「Google Chromeをインストール+File System API」で解決。1日消費。


・出力ファイルの名前問題

 なんとか出力はできるようになったが出力パスとファイル名は一切変更できない。
 AppDataフォルダに00000000から始まる連番のファイルが出力されるのみ。
 この命名ルールが最初は良くわからず、実行するたびにファイル名が変わって困った。
 どんどんファイルが増えていってどうしたものかと。
 使われはしないが、Open時のファイル名をきちんと付けてやれば
 二回目以降同じファイル名で出力されるようになるようだ。ここで1日消費。

なんやかんやで受け取りツールだけで5日かかっている。
本来はサーバーへのアップロードまでやりたかったが時間切れ。

最後は「csv形式のアイテム名データを読み込んで検索インターフェースを提供」するWebアプリ。半日くらい。マクドナルド計算機をベースにしたのもあってすぐできた。
テキストのコピペ処理が一番時間がかかっただろうか。クリップボードに直接コピーしたくてGoogle先生に聞いてみたのだけれども、見つけた手法はどれも今どきのブラウザでは塞がれていた。結局ブラウザ判別してIEだけ対応。他はtextareaにコピーしてそこからクリップボードへは手動でコピーしてもらうことにした。

トータルで6日くらい。結構かかった。

なお、Webアプリの公開にはGoogle Driveを使っている。
しかしGoogle Driveは古いファイルが上書きされずに残るのが不便だ。ここはDropbox仕様(上書きして履歴を生成する)にして欲しいな...自動化することを考えると削除もしなきゃいけないのは面倒。
あと、htmlやjsはたまに古い方を消した後しばらく404になるのも困る。
またキャッシュ?キャッシュの問題なの?

にほんブログ村 IT技術ブログへ
スポンサーサイト
コメント
コメントの投稿
【Font & Icon】
管理者にだけ表示を許可する
ランキング
ブログランキング・にほんブログ村へ
PR広告
FC2動画
プロフィール

ykhmfst

Author:ykhmfst
プログラムとその周辺技術、Web技術、ゲーム、4コマ漫画、サッカーと横浜FC、そして自由のために奔走する日々を徒然と


最新記事
過去の書庫
メールフォーム

名前:
メール:
件名:
本文:

おすすめ
J2白書〈2013〉
J2白書〈2013〉
J’s GOAL J2ライター班
東邦出版 2014-01-23
カテゴリ
カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。