# define the html url url="http://mp3.baidu.com/" # get the nokogiri document doc = Nokogiri::HTML(open(url))
在centos上,上面这句话硬是解析不出来,试了N种写法。
后来发现是nokogiri安装的问题,如果用centos5.5,最新的libxml2的版本还是过低,centos就这样,好用,稳定,但库太老了点。
sudo yum remove -y libxml2 libxslt
然后到这里下载最新的libxml和libxslt安装吧。
gem install /home/xiao/.rvm/gems/ree-1.8.7-2011.03@rails3/cache/nokogiri-1.4.4.gem -- --with-xml2-lib=/opt/libxml2-dev/lib --with-xml2-include=/opt/libxml2-dev/include/libxml2 --with-xslt-lib=/opt/libxslt-dev/lib --with-xslt-include=/opt/libxslt-dev/include
再测试,一切ok.
这是我的信息
[xiao@bogon collect]$ nokogiri -v
---
warnings: []
ruby:
engine: ruby
version: 1.8.7
platform: i686-linux
libxml:
loaded: 2.7.8
binding: extension
compiled: 2.7.8
nokogiri: 1.4.4