我正在使用名为Oga的XML / HTML解析器。
我正在尝试抓取此网址:http://www.johnvanderlyn.com并解析正文以查找文字,如下所示:
AutoFitHeader Range("A1:H1")
当我收到此错误时:
def get_page
body = Net::HTTP.get(URI.parse(@url))
document = Oga.parse_html(body)
end
document = get_page
words = document.css('body').text
这与此bit of code here有关。
可能导致此问题的原因以及如何解决?有没有办法让我在本地修复它,或者我是否需要分叉gem,修复该方法然后使用我的fork?
思想?
答案 0 :(得分:2)
您链接的代码与毛刺无关,即正在以错误的编码解释正文的问题。在解析文档之前尝试添加body = body.force_encoding 'UTF-8'
:
def get_page
body = Net::HTTP.get(URI.parse(@url)).force_encoding 'UTF-8'
document = Oga.parse_html(body)
end