久々の投稿
某テニスサイトの簡易検索サイトをあきらめたわけではなかった。
エンジン的なcgiは作って、スマホのアプリを作ったりRoRのサイトを
作ってAPIを作りたいと思っているのは変わりない。
しかし、仕事やプライベートの優先度が高くなると、自由な時間をこの
思いに向けられなおくなるのが、悲しいところ。
とりあえず、某テニスサイトの簡易検索は、自分でも使いたいので
どこかではAWSに構築して、APIアクセスやRoR/Bootstrapで、アクセスデバイスフリーなものを作りたいが、まずは現状のアウトプットを公開するための場所を決定しました。
AWSは、1年間でコストの計算が実際に使ってみないと分からない犯意で
フリーではあるが、ちょっとリスクがある。
そんなチキンな気持ちで、リスクを気にせずにすみそうなところが、
こちらでした。
rubyをcgiとして使えそうなので、某テニスオフサイトの簡易検索を、
近いうちに公開したいと考えてます。
某テニスのオフサイトの検索画面とdatepicker
検索画面において、必要なのは日付を入れること。
フォームをテキストで値を入力して、検索エンジンへ値を渡して
検索結果が表示されるのはすぐ出来た。
しかし、手入力で月/日や曜日をいれるのは面倒だし、入力間違え
があるので、カレンダーを表示したいと思っていたら、datepickerという
便利なものがあるのが、ググルといっぱい情報が出てきた。
このdatepickerがなかなか使い方が分からず、苦労していた。
datepickerはjqueryが必要で、javascriptの文法を知らず、入門からやれば
確実なんだけど、手っ取り早く見よう見真似でやってみました。
苦労した結果、カレンダーを表示してテニスしたい日を選択して、サーチ
ボタンを押せば、某テニスサイトのテニス募集中のエントリを表示できる
ようになりました。
datepickerのonselectイベントで、月/日/曜日を選択してストリングを加工。
曜日は0~6で取得できなかったので、ハッシュ配列を用意しといて変換。
なんか、ゴリゴリ感でクレバーじゃないんですが、何とかできた。
まだ、URLが丸見えなんで、そろそろRuby On Railsでやってみようかな。
VirtualBoxでやってるんで外から見れないんだが、Ruby On Railsで出来たら
AWSの1年間無料期間を利用して外から出来るようにしたな。
作りながら、自分が某テニスサイトの募集エントリ探すときは、本家のサイト
よりこっちを使うことが手間がないので、自己満足かもしれないが作っている
意味はある気がする...
某テニスのオフサイトの探索エンジン部分は完成
前回に、壁はなくなったと書いたけど特に壁はなかった。
取得したhttpの情報が文字化けしたりすることもなくループしながら、
某テニスサイトのエントリ情報を全て読み込むことに成功。
まぁ、言語はrubyだけどかなり汚いので、余裕が出来たらソースを
きれいにした。
オブジェクト指向は全然なく、Cで考えても関数作らずにだらだら
mainに処理を書いているソースになってしまった....
1行欠落することもないので、規則どおりに必要情報を取得して
指定日を絞るにはどのタイミングかも、思い通りになった。
cgiにするまでは出来て、1日指定で某テニスのオフサイトの
募集エントリを搾り出して、表示することは出来た。
これだをインターネットにアクセスできるどこかのクラウドをレンタル
しても、自分的にはうれしいかも知れない。
ただし見栄えがなにもないので、Bootstrapあたりを勉強してスマホから
簡単に見れるようにしたいと思うようになりました。
Bootstrapの勉強によいものを、これから探そう。
なかなか進まないが、read_bodyの解析方法を変更
以前にこちらで書いたことを訂正....
read_bodyの続き - sh7nhate’s blog
ーーーーーーーーーー
https.request_get(url.path) {|res|
res.read_body do |segment|
segment.each_line do |line|
# ここで、情報を絞ったりなんかしたり。。。。
print line # ★
end
end
}
----------
これをすると、★でたまに情報がかけたりすることがある。。。
パターンが読めなかったので、どうするべきか途方にくれていた。
とりあえず、read_bodyで読み込んだ情報をテンポラリーに記録して、
その後に解析することにした。
https.request_get(url.path) {|res|
res.read_body do |segment|
res_segment += segment
end
}
res_segment.each_line do |line|
# ここで、好きなように情報を絞るなど。
end
1日1時間程度を目標にしてたけど、本業が忙しくなるとなかなか気力がなく、
ちょっとはまると、先に進むのが難しいなと実感しました。
しかし、某テニスサイトのAPIがあれば、ここまで悩まないのに。
ただ今回の問題が過ぎれば、壁はなくなった気もする。
後は、ゴリゴリ作るのみかな~?
まぁ、また何か壁に当たる気もします。
Permission denied - connect(2) が解決
RubyやCGIの問題だと思っていた、Permission denied - connect(2) が
ぜんぜん違うところで、解決できた。
Elasticsearch+Kibanaのインストールで嵌ったこと - Siburlog
こちらのおかげで、SELinuxが有効になっていることで、なにか
この接続が弾かれているのがわかった。
SELinuxを無効にすると、思ったように表示されました。
これで、続きができる!!!