RubyでWebサイト上のPDFファイルの情報を取得するサンプルコードを作成しました。
続きを読む
カテゴリー別アーカイブ: コーディング
RubyでWebページの応答時間を計測し、メールで通知
Ruby open-uriでリファラーとユーザーエージェントを設定してWebページを取得
Windows7の環境でRubyでMySQLに接続する手順
Ruby curb、scan、gsubを使ってWebページから特定の情報を抽出
Ruby curbでリファラーとユーザーエージェントを設定してWebページを取得
Windows7にcurb(ruby)をインストールする手順
Rubyを使ってWebページの情報を自動で取得して処理する方法の一つにcurbを使う方法があります。Windows7にcurbをインストールする手順をまとめました。
(1)要件の確認
オンラインサイトで確認します
https://github.com/taf2/curb
・A working Ruby installation (1.8+, tested with 1.8.6, 1.8.7, 1.9.1, and 1.9.2)
・A working (lib)curl installation, with development stuff (7.5+, tested with 7.19.x
(2)インストール手順
1)Ruby1.9.3インストール
rubyinstaller-1.9.3-p545.exeを取得し、ダブルクリックでインストール
2)Ruby Development Kitをインストール
下記サイトの手順に従ってインストール
https://github.com/oneclick/rubyinstaller/wiki/development-kit
①ファイルダウンロード
DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
②上記ファイルを解凍
ここでは、”C:\rubydevkit”に解凍
③config.yml作成
スタート→”Rubyコマンドプロンプトを開く”
C:\>cd rubydevkit
C:\rubydevkit>ruby dk.rb init
[INFO] found RubyInstaller v1.9.3 at C:/Ruby193
Initialization complete! Please review and modify the auto-generated ‘config.yml’ file to ensure it contains the root directories to all of the installed Rubies you want enhanced by the DevKit.
④Rubyのリストを確認
C:\rubydevkit>ruby dk.rb review
Based upon the settings in the ‘config.yml’ file generated
from running ‘ruby dk.rb init’ and any of your customizations,
DevKit functionality will be injected into the following Rubies
when you run ‘ruby dk.rb install’.
C:/Ruby193
⑤インストール
C:\rubydevkit>ruby dk.rb install
[INFO] Updating convenience notice gem override for ‘C:/Ruby193’
[INFO] Installing ‘C:/Ruby193/lib/ruby/site_ruby/devkit.rb’
⑥動作確認
C:\rubydevkit>gem install json –platform=ruby
Fetching: json-1.8.1.gem (100%)
Temporarily enhancing PATH to include DevKit…
Building native extensions. This could take a while…
Successfully installed json-1.8.1
1 gem installed
Installing ri documentation for json-1.8.1…
Installing RDoc documentation for json-1.8.1…
C:\rubydevkit>ruby -rubygems -e “require ‘json’; puts JSON.load(‘[42]’).inspect”
[42]
3)libcurlの入手、設定
①libcurlをダウンロード
公式サイトにはcurl-7.27.0-devel-mingw32がありませんでした。pycurl(https://github.com/ninemoreminutes/pycurl)内に同梱されていたので、pycurlをダウンロードし、解凍するとそのなかに入っていました。
②curl-7.27.0-devel-mingw32をC:\にコピー。
③Windowsシステム環境変数に”C:\curl-7.27.0-devel-mingw32\bin”を追加
Rubyコマンドプロンプトを起動しなおし、pathコマンドで環境変数に追加されていることを確認
4)curbインストール
下記コマンドでインストールしました。参考サイトによるとこのバージョンでないとうまくいかなかったとの事でしたので、0.7.18を指定してインストールしました。
PCのスペックが悪いのか40分ぐらいかかりました。
C:\rubydevkit>gem install curb –version 0.7.18 –platform=ruby — — –with-curl-lib=”C:/curl-7.27.0-devel-mingw32/bin” –with-curl-include=”C:/curl-7.27.0-devel-mingw32/include”
Fetching: curb-0.7.18.gem (100%)
Temporarily enhancing PATH to include DevKit…
Building native extensions. This could take a while…
Successfully installed curb-0.7.18
1 gem installed
Installing ri documentation for curb-0.7.18…
Installing RDoc documentation for curb-0.7.18…
5)動作確認
指定したWebサイトのページ内の情報を取得し、そのサイズを表示する簡単なサンプルプログラムです。
①下記テストスクリプト作成
require ‘curb’
c = Curl::Easy.new
c.url = “http://example.com”
c.http_get
puts c.body_str.size
②スクリプト実行
C:\ruby_curl>ruby test.rb
125620
CentOSにcurb(ruby)をインストールする手順
Bashスクリプトでmysqldumpバックアップと世代管理
WordPress用のデータベースのバックアップと世代管理を行うBashスクリプトの作成例です。cronに登録し、自動で定時実行させています。個人用途なのでエラー処理については厳密に考慮していません。
続きを読む
Bootstrap3でリスト、リストグループ、パネルの階層を折りたたみ(collapse)
階層のある目次などで見やすくするために下位の階層を折りたたみ(collapse)の機能で表示、非表示を切替えられると便利です。Bootstrap3の標準機能でリスト、リストグループ、パネルの階層を折りたたみ設定してみました。
続きを読む