2012-10-30 43 views
0

我無法使用XPath,因爲編碼變得很奇怪。我希望你能幫助我擺脫這個麻煩。使用奇怪的編碼解析HTML與Nokogiri

require "Nokogiri" 
require "open-uri" 
link = "http://www.arla.dk/Services/SearchService.asmx/RecipeResult?q=allRecipe&paging=6&include=&exclude=&area=recipeSearch&languageBranch=da" 
doc = Nokogiri::HTML(open(link)) 
doc.xpath("//h2") 

xpath方法返回一個空數組。它看起來像文件沒有被解析正確。我認爲這是由於被解析的文件包含編碼字符:

<strong>Frokost til 8</strong> 
<ul><li class='ingHeading'><strong><b>Flade 
+1

這不是一個nokogiri問題,它是源數據的問題,它被編碼爲一個長字符串。 –

+0

有趣的,我會看看如果我能找到一些工具來轉換它。你知道嗎? – user1785060

回答

1

的響應是XML所以首先引入nokogiri :: XML解析它。

xml = Nokogiri::XML open(link) 

那麼第一個字符串包含一些HTML解析,以便與引入nokogiri :: HTML

doc = Nokogiri::HTML xml.at('string').text 

現在你可以做你的搜索:

doc.xpath '//h2' 
+0

謝謝你的幫助:) – user1785060