<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>lijavawei</title>
    <link>https://ruby-china.org/lijavawei</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>使用 Mechanize 抓网页，出现 encoding error 问题，恼人的编码问题</title>
      <description>&lt;p&gt;想在搜狗上抓取搜索到的 ruby 的内容链接文字（&lt;a href="http://www.sogou.com/web?query=ruby&amp;amp;_asf=www.sogou.com&amp;amp;_ast=1363679185&amp;amp;w=01019900&amp;amp;p=40040100&amp;amp;sut=5422&amp;amp;sst0=1363679185007" rel="nofollow" target="_blank"&gt;http://www.sogou.com/web?query=ruby&amp;amp;_asf=www.sogou.com&amp;amp;_ast=1363679185&amp;amp;w=01019900&amp;amp;p=40040100&amp;amp;sut=5422&amp;amp;sst0=1363679185007&lt;/a&gt;），编写如下程序&lt;/p&gt;

&lt;p&gt;# encoding: utf-8
require 'rubygems'
require 'mechanize'&lt;/p&gt;

&lt;p&gt;a = Mechanize.new
s="&lt;a href="http://www.sogou.com/web?query=ruby&amp;amp;_asf=www.sogou.com&amp;amp;_ast=1363679185&amp;amp;w=01019900&amp;amp;p=40040100&amp;amp;sut=5422&amp;amp;sst0=1363679185007" rel="nofollow" target="_blank"&gt;http://www.sogou.com/web?query=ruby&amp;amp;_asf=www.sogou.com&amp;amp;_ast=1363679185&amp;amp;w=01019900&amp;amp;p=40040100&amp;amp;sut=5422&amp;amp;sst0=1363679185007&lt;/a&gt;"
page= a.get(s)&lt;/p&gt;

&lt;p&gt;#page.encoding = 'gbk'
page.links.each do |link|
  puts link.text
end &lt;/p&gt;

&lt;p&gt;运行之后出现
encoding error: input conversion failed due to input error,bytes 0xAA 0xA1 0xAA 0xC7 这样的错误
参照 &lt;a href="http://ruby-china.org/topics/6188" rel="nofollow" target="_blank"&gt;http://ruby-china.org/topics/6188&lt;/a&gt; 加上 page.encoding = 'gbk'后只输出了搜狗自己的“帮助中心”等，而需要抓取的如“ruby 百度百科”等链接文字并没有输出。
请各位一定帮忙看看，该怎样修改才能得到需要的结果。谢谢！&lt;/p&gt;</description>
      <author>lijavawei</author>
      <pubDate>Tue, 19 Mar 2013 16:15:25 +0800</pubDate>
      <link>https://ruby-china.org/topics/9566</link>
      <guid>https://ruby-china.org/topics/9566</guid>
    </item>
  </channel>
</rss>
