我使用cheerio和node.js的解析一個網頁,然後使用CSS選擇器找到它的數據。 Cheerio在格式錯誤的html上表現不佳。 jsdom更寬容,但兩者的行爲都不一樣,而且在某些情況下,其他人都能正常工作時,我都看到了這兩種情況。如何複製Chrome能夠從錯誤的HTML'解析'DOM?
鉻似乎做了很好的工作與同畸形的HTML創建一個DOM。
我怎樣才能複製Chrome的創建從不良HTML DOM一個能力,然後給這個DOM的「乾淨」的HTML表示,以cheerio進行處理?
這樣,我就知道它會是簡潔(wellformed)的HTML。我通過設置page.content嘗試了phantomjs,但是當我讀取page.content的值時,html仍然是格式錯誤的。
會愛像你描述提交的jsdom與任何解析失敗的bug。 jsdom努力模擬100%準確度的瀏覽器解析算法,因此它應該適用於您的用例;如果沒有,那是我們要解決的一個錯誤。 – Domenic 2013-09-10 12:56:07