2015-01-22 2 views
0

상징 HTML 결과에 비 분리 공백 읽기 : 드디어 웹 사이트의 일부를 구문 분석 관리

get '/' do 
    url = '<website>' 
    data = Nokogiri::HTML(open(url)) 
    @rows = data.css("td[valign=top] table tr") 
    erb :muster 
end 

지금 내보기에서 특정 라인을 추출하기 위해 노력하고 있습니다. 따라서 나는 내 HTML 코드에 넣어 :

<%= @rows[2] %> 

그리고 그것은 실제로 코드를 반환하지만,이 공간에 문제가 있습니다 대신

<td class="class_name">&nbsp;</td> 

<td class="class_name">�</td> 

말했다 어떻게 생각을 잘못하고있는거야?

+1

요약하면 가져 오는 파일, Nokogiri 인코딩, Erb 템플릿 및/또는 결과 HTML 파일에 지정된 인코딩 사이의 파이프 라인에서 문자 인코딩이 일치하지 않습니다. 가장 단순한 (항상 쉬운 것은 아니지만) 솔루션은 UTF-8이 파이프 라인 전체에서 사용되도록 보장하는 것입니다. – Phrogz

+0

그리고 nokogiri 인코딩 또는 erb 템플릿을 어떻게 변경합니까? 나는 원본과 최종 html이 UTF-8이라고 생각한다. – littleprinter

답변

0

UTF-8을 사용하려고 때문에 &nbsp; 대신 ASCII 숯불 0xA0에 인쇄되지 않습니다

data = Nokogiri::HTML(open(url).encode('ASCII-8BIT')) 

으로이 방법 노코 기리을

data = Nokogiri::HTML(open(url)) 

를 교체하십시오.

관련 문제