管理者権限なし(一般ユーザ)での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'))