0

有人可以看看这个。我认为进行此调用时存在无效的 UTF-8 字符。

Nokogiri::HTML(open("http://www.next.co.uk/x502062s2"))

如果有办法解决这个问题?这是问题所在吗?我正在编写一个新的开源屏幕抓取工具,专为产品信息捕获(当网站不提供提要时)而设计,然后有人说我做的事情有点狡猾:-)

4

1 回答 1

2

在向 Nokogiri 传递任何内容之前,您可以对页面内容进行编码,并使用 Iconv 忽略所有无效的 UTF 字符。

我是这样使用它的:

ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
valid_string = ic.iconv(open('http://example.com').read)

您还可以检查“修复 Ruby 中无效的 UTF-8,重新访问。”

于 2012-08-09T21:38:02.063 回答