我正在尝试解析GB2312编码页面(http://news.qq.com/a/20140824/015032.htm),这是我的代码。
我还没有进入解析部分,只是在开放和阅读,我得到了错误。
这是我的密码:
require 'open-uri'
open("http://news.qq.com/a/20140824/015032.htm").read这是一个错误:
Encoding::InvalidByteSequenceError: "\x8B" on GB2312我正在使用Ruby 2.0.0p247
有解决办法吗?
发布于 2014-08-25 01:40:20
我不知道在调用.read时为什么会发生这种情况,但是如果使用Nokogiri,您可以绕过它。只需直接将文件对象传递给Nokogiri,而不调用.read
require 'open-uri'
file = open("http://news.qq.com/a/20140824/015032.htm")
document = Nokogiri(file)发布于 2014-08-25 02:06:07
我不能使用2.0.0p247复制错误,
require 'open-uri'
open("http://news.qq.com/a/20140824/015032.htm").read效果很好。
然而,
require 'open-uri'
open("http://news.qq.com/a/20140824/015032.htm").read.encode('utf-8')会引起错误
Encoding::InvalidByteSequenceError: "\x8B" on GB2312你想要做一些编码转换吗?
发布于 2014-08-26 10:56:07
你可以试试这个
document = Nokogiri::HTML(open("http://news.qq.com/a/20140824/015032.htm"), nil, "GB18030")https://stackoverflow.com/questions/25477816
复制相似问题