2012-03-16 56 views
0

我想從html文件中刪除所有外部資源。 我正在使用wget製作頁面的一些本地副本。 Wget有將鏈接轉換爲本地文件系統的選項,但它仍然可以,但仍然有一些鏈接(在我認爲下載深度結束時)保留其外部src,因此它們包含http。從Nokogiri中刪除HTML中的所有外部資源

我能得到查找包含HTTP一切最接近的是使用這樣的:

doc.search( 「// * [開始,用(@href, 'HTTP')」)

但是,這只是發現href元素和http也可以在圖像,視頻和任何東西。 任何想法什麼是正確的指示Nokogiri告訴我一切包含http?

謝謝。

回答

2

如果你只是想擴大搜索範圍,與元素的任何屬性開始以「http」你可以這樣做:

doc.search("//*[@*[starts-with(.,'http')]]") 
+0

您好,感謝這麼多!爲了我的需要,我不得不改變它以獲取包含http的所有內容。但是你的代碼讓我進入了軌道。我現在正在使用doc.search(「// @ * [starts-with(。,'http')]」 – Pod 2012-03-16 14:36:43

+0

不同之處在於我的XPath語句(錯誤類型現已修復)會查找所有*元素* 'http',而你自己只能找到*屬性節點*兩者都可以,這取決於你以後會怎麼做。 – 2012-03-16 16:20:14