管理者権限なし(一般ユーザ)でのrubyのhpricotとmecanizeの導入

管理者権限なし(一般ユーザ)でのrubyのhpricotとmecanizeの導入



各ライブリの一般ユーザでの導入は,
C言語系ライブラリ: http://d.hatena.ne.jp/arupaka-_-arupaka/20121006/1349517441
ruby系ライブラリ: http://d.hatena.ne.jp/arupaka-_-arupaka/20121007/1349583520
を参照.



(1)nokogiriの導入(mechanize のために必要).
下準備

(i)libxml2のインストール→ソースから導入.
(ii)libxml2-devel のインストール→rpmパッケージバイナリ)を展開PATHのとってるところにおく(libxml2とバージョンをあわせる).
(iii)libstlをインストール→ソースから導入.
(iv) それぞれのライブラリ, インクルードにPATHを通す.


インストール

(i)nokogiriのソースをgemsのリポジトリからもってくる.
(ii)gem install nokogiri****.gem でインストール
(iii)環境変数 RUBYLIB にPATHを通す.

(2) mechanizeの導入

(i) ソースをgemsのレポジトリからもってくる.
(ii)gem install mechanize****.gem でインストール.
(iii)環境変数 RUBYLIB にPATHを通す.
バージョンによってはバクができるので,その場合は,ver 0.9.1
以下のバージョンを使う.

mechaizeのバージョンでの相違
0.9.1以前

agent = WWW::Mechanize.new

1.0.0以降

agent = Mechanize.new

(3)hpricotの導入

(i) ソースをgemsのレポジトリからもってくる.
(ii)gem install hpricot****.gem でインストール.
(iii)環境変数 RUBYLIB にPATHを通す.
インストール成功しても、個別プログラムでバグがでてとまる場合はhpricotをあきらめて,
nokogiriを利用する.
nokogiriの変え方は,http://blog.livedoor.jp/maru_tak/archives/50703016.html を参考に.


(4)[hpricotがバグで止まる場合]hpricotからnokogiriへの乗り換え

require 'hpricot'require 'nokogiri'
html = Hpricot(open('http://yahoo.co.jp').read)
↓
html=Nokogiri::HTML.parse(open('http://yahoo.co.jp'))