我似乎無法確定爲什麼Nokogori沒有正確解析這個html文件。此html文件是從Delicious導出的書籤。它有400個鏈接,但始終只分析254個鏈接。我有其他可口的html導出文件,它們只能找到254個鏈接(鏈接數量不同),並且正確解析鏈接(超過2000個鏈接),所以看起來好像可能存在導致問題的特定鏈接,但我真的不確定。我在這裏鏈接到html,因爲html將這篇文章的正文放在了字符限制之內。這是HTML的一個例子(實際HTML有超過400個標籤):Nokogiri不能正確解析導出的書籤html
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><A HREF="http://www.lecartelclothing.com/" ADD_DATE="1459226337" PRIVATE="1" TAGS="montreal,art,design">Le Cartel | Le Cartel Clothing Inc.</A>
<DT><A HREF="http://parkdaleprojectread.org/" ADD_DATE="1459226204" PRIVATE="1" TAGS="ngo">Parkdale Project Read</A>
<DT><A HREF="http://darkmp3.ru/" ADD_DATE="1458608207" PRIVATE="1" TAGS="music,blogs,music_blog,download">Dark mp3</A>
<DT><A HREF="http://www.sbs.com.au/programs/the-family-law/article/family-law-episode-guide" ADD_DATE="1458603937" PRIVATE="1" TAGS="asian,china,cinema">The Family Law: Watch the series | Programs</A>
<DT><A HREF="http://asiansdoingeverything.tumblr.com/" ADD_DATE="1458602744" PRIVATE="1" TAGS="asian,blogs,china">Asians Doing Everything</A>
</DL></p>
我上傳與Carrierwave寶石的HTML文件,並解析它。我一直在使用這個代碼是(其中html_upload是使用Carrierwave模型實例):
doc = Nokogiri::HTML.parse html_upload.file.read
puts doc.css('a').count
歡迎堆棧溢出。請閱讀「[mcve]」。您需要最小輸入(HTML)_在問題本身_以及預期輸出。不要指望我們離開現場去追蹤這些信息或爲了減少這些信息;相反,幫助我們幫助你。鏈接腐爛然後中斷,當他們做你的問題對我們或任何其他尋找類似解決方案的人來說沒有任何意義。 –
我試過了,但遇到了字符限制,當時我認爲html的長度與答案有關。 – TenJack
既然你知道這不是真的,那麼解決這個問題是很好的,因爲它符合指導原則。 –