<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>MinorProbrem&#187; さくらインターネット</title>
	<atom:link href="http://hmlab.info/minor/tag/%e3%81%95%e3%81%8f%e3%82%89%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>http://hmlab.info/minor</link>
	<description>グダグダ日記</description>
	<lastBuildDate>Wed, 27 Apr 2011 21:48:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/tag/%e3%81%95%e3%81%8f%e3%82%89%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88/feed/" />
		<item>
		<title>さくらにhpricotでスクレイピングバフンバフーン</title>
		<link>http://hmlab.info/minor/2008/12/20081213_0048283713/</link>
		<comments>http://hmlab.info/minor/2008/12/20081213_0048283713/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 15:48:28 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[hpricot]]></category>
		<category><![CDATA[さくら]]></category>
		<category><![CDATA[さくらインターネット]]></category>
		<category><![CDATA[インストール]]></category>
		<category><![CDATA[エラー]]></category>
		<category><![CDATA[スクレイピング]]></category>

		<guid isPermaLink="false">http://hmlab.info/minor/?p=3713</guid>
		<description><![CDATA[さくらサーバーにhpricotを入れて、スクレイピングなぞ嗜もう、お、オレ、超Web屋っぽくね？なんて悦に入ろうとしたら超苦労した。 というか、まだ解決してないんだけど、とりあえずの備忘録。解決しました。最後に追記してい [...]]]></description>
			<content:encoded><![CDATA[<p><strong>さくらサーバーにhpricot</strong>を入れて、<strong>スクレイピングなぞ嗜もう</strong>、お、オレ、<strong>超Web屋っぽくね？</strong>なんて悦に入ろうとしたら<strong>超苦労</strong>した。</p>
<p>というか、<span style="text-decoration: line-through;">まだ解決してないんだけど、とりあえずの備忘録。</span><strong>解決しました。最後に追記しています。</strong></p>
<p><span id="more-3713"></span></p>
<h2>まずはrubyのインストール</h2>
<p>さくらサーバーにはrubyがインストール済みなんだけど、デフォルトのrubyだとgemをインストールする時、</p>
<blockquote><p>/usr/local/lib/ruby/1.8/fileutils.rb:243:in `mkdir&#8217;: Permission denied &#8211; /usr/local/lib/ruby/site_ruby/1.8/rbconfig (Errno::EACCES)</p></blockquote>
<p>みたいに怒られるので、rubyをインストール。<br />
$home/localにインストールしたいので</p>
<blockquote><p>cd $HOME/local/src</p></blockquote>
<p>に移動して、wgetでソースをダウンロード。</p>
<blockquote><p>wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz<br />
（現時点で1.8系は1.8.7が最新だった）</p></blockquote>
<p>で</p>
<blockquote><p>tar xzf ruby-1.8.7.tar.gz</p></blockquote>
<p>できたディレクトリの中に移動して</p>
<blockquote><p>./configure &#8211;prefix=$HOME/local<br />
make<br />
make install</p></blockquote>
<p>でインストールはOK。</p>
<p>そのままだとrubyのパスがデフォルトのままなので、</p>
<blockquote><p>vi $HOME/.cshrc</p></blockquote>
<p>で開いて、中の</p>
<p><strong>set path</strong></p>
<p>部分に、さっきインストールして先のパスを追加する。（$HOME/local/bin）</p>
<p>あ、<strong>/usr/local/bin</strong>より先に書かないと、デフォルトのrubyを読んじゃうので注意。</p>
<p>保存後、<strong>source $home/.cshrc</strong>で反映させて、<strong>where ruby</strong>のパスが変更後のものだったらOK。</p>
<h2>gemのインストール</h2>
<p>gemをrubyforgeから持ってきます</p>
<blockquote><p>wget http://rubyforge.org/frs/download.php/17190/rubygems-1.2.0.tgz</p>
<p>tar xzf rubygems-1.2.0.tgz</p>
<p>cd rubygems-1.2.0</p>
<p>ruby setup.rb</p></blockquote>
<p>で、インストール後にもう一回<strong>source $HOME/.cshrc</strong>をして（しないとエラーがでた）から</p>
<blockquote><p>gem -v</p></blockquote>
<p>とでもやってなにか表示されたらgemのインストールはできてるはずです。</p>
<h2>hpricotインストール</h2>
<p>ここからが本題。</p>
<p>gemを使って、</p>
<blockquote><p>gem install hpricot</p></blockquote>
<p>をやると、インストールされましたって表示されている。エラー表示はない。</p>
<p>でもrubyソースの中で<strong>require　’hpricot’するとどうもうまくいかないのだ。</strong></p>
<p>例</p>
<blockquote><p>#!/home/hmlab/local/bin/ruby</p>
<p>require &#8216;rubygems&#8217;<br />
require &#8216;hpricot&#8217;</p>
<p>puts &#8220;Content-type: text/htmlrnrn&#8221;;</p>
<p>puts &#8216;&lt;html&gt;&#8217;<br />
puts &#8216;&lt;head&gt;&#8217;<br />
puts &#8216;&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=shift-jis&#8221;&gt;<br />
&#8216;<br />
puts &#8216;&lt;/head&gt;&#8217;<br />
puts &#8216;&lt;body&gt;&#8217;<br />
puts &#8216;TEST&#8217;<br />
puts &#8216;&lt;/body&gt;&lt;/html&gt;&#8217;</p></blockquote>
<p>ただただTESTと表示させるだけなんで<strong>hpricotはrequireしているだけ</strong>だ。</p>
<p>これをCGIとしてブラウザに表示させると、<strong>失敗する</strong>。Internal Server Errorだ。</p>
<p>試しに<strong>require &#8216;hpricot&#8217;の部分を削除すると、「TEST」と表示される。間違いなく問題はこの箇所。</strong></p>
<p>ちなみにコマンドラインからruby test.rb(このファイル名)とすると、hpricotがrequireされていても問題ない。TESTと表示される。</p>
<p>えー？なんだこれ・・・？</p>
<p>コマンドラインからは問題ないんだから、インストールされてないってわけでもなさそうだけど・・・ふむ？わからない。なんだろ・・・？</p>
<p>このあとrailsでも、と思ったけど、まずはhpricotをやっつけてからにします。</p>
<p>あれ？ていうか、hpricotってどこにインストールされてるんだ？</p>
<p><strong>追記</strong></p>
<p>/local/lib/ruby/gem/gems/</p>
<p>ここか</p>
<p><strong>追記２</strong></p>
<p><strong>エラーはgemへパスがとおっていなかっただけでした。</strong></p>
<p><a href="http://hmlab.info/minor/2008/12/20081213_234331372420081213_2343313724.html" target="_self">後日談参照</a>で</p>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2008/12/20081213_0048283713/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2008/12/20081213_0048283713/" />
	</item>
	</channel>
</rss>

