久々の投稿

某テニスサイトの簡易検索サイトをあきらめたわけではなかった。

エンジン的なcgiは作って、スマホのアプリを作ったりRoRのサイトを

作ってAPIを作りたいと思っているのは変わりない。

しかし、仕事やプライベートの優先度が高くなると、自由な時間をこの

思いに向けられなおくなるのが、悲しいところ。

 

とりあえず、某テニスサイトの簡易検索は、自分でも使いたいので

rubycgiが使えるfreeサイトを探してみた。

どこかではAWSに構築して、APIアクセスやRoR/Bootstrapで、アクセスデバイスフリーなものを作りたいが、まずは現状のアウトプットを公開するための場所を決定しました。

 

AWSは、1年間でコストの計算が実際に使ってみないと分からない犯意で

フリーではあるが、ちょっとリスクがある。

そんなチキンな気持ちで、リスクを気にせずにすみそうなところが、

こちらでした。

chobi net レンタルサーバー

 

rubycgiとして使えそうなので、某テニスオフサイトの簡易検索を、

近いうちに公開したいと考えてます。

 

 

 

 

某テニスのオフサイトの検索画面と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があれば、ここまで悩まないのに。

ただ今回の問題が過ぎれば、壁はなくなった気もする。

後は、ゴリゴリ作るのみかな~?

 

まぁ、また何か壁に当たる気もします。

 

亀なりの進歩

1日1時間程度でやっているので、かめなりの進歩です。

某テニスの募集サイトは、50件ほどの募集で次を見るには、

次の50件とか見ないといけないので、直近の週末を見たいのだけど、

何気にクリック回数が増えて使いずらい。

 

URLの法則は分かっていたので、loopするようにして一度に情報を

取得できるくらいはできた。その分時間はかかるけど。

ここから、指定日時とかしてほしい情報を絞れるようにしたいかな。

rubyは知らないで書いていると、どんどんCっぽくなるのがやなところ。

 

まずは動かして、だんだんと綺麗にしていこう。。。

粛々と。。。作業中...

某テニスサイトの検索を便利にしようと作業中....

cgiとしてやってみるけど、たまに文字化けがある。。

あまりたいしたところじゃないけど、htmlの表示が崩れるんで

もう文字だけとって、内部で表示を考えたほうがよいか?

 

APIがないと、細かいところに気を使うと気づいた。。。

何とか完成まで持って生きたい!!

まだまだ、先は長そうだなぁ~・・・

Permission denied - connect(2) が解決

RubyCGIの問題だと思っていた、Permission denied - connect(2) が

ぜんぜん違うところで、解決できた。

Elasticsearch+Kibanaのインストールで嵌ったこと - Siburlog

こちらのおかげで、SELinuxが有効になっていることで、なにか

この接続が弾かれているのがわかった。

 

SELinuxを無効にすると、思ったように表示されました。

これで、続きができる!!!