Захватите веб-страницу кандзи, используя Nokogiri - PullRequest
1 голос
/ 26 июня 2010

Я хотел бы взять таблицу кандзи на странице Википедии, и у меня возникли проблемы с использованием Нокогири со специальным символом. Вот мой сценарий:

# -*- encoding: utf-8 -*-

require 'rubygems'
require 'nokogiri'
require 'open-uri'

link = 'http://en.wikipedia.org/wiki/List_of_j%C5%8Dy%C5%8D_kanji'

doc = Nokogiri::HTML(open(link))
doc.encoding = 'UTF-8'

d = []
doc.css('.wikitable tr').each do |tr|
  row = []
  tr.css('td').each {|td| row << td.text }
  d << row
end

d.each {|row| row.each {|td| puts td } }
y = YAML.dump(d, STDOUT)
puts y

Моя проблема в том, что он возвращает двоичные символы (например, ã¯ã), а не символы кандзи (например, 人).

Как я могу отредактировать это, чтобы исправить это? Большое спасибо.

1 Ответ

0 голосов
/ 26 июня 2010
doc = Nokogiri::HTML(open(link),nil,'UTF-8')

У меня работает, если ваш терминал не поддерживает японские символы, поместите его в файл.

...