2012-03-16 8 views
0

すべての外部リソースをhtmlファイルから削除します。 wgetを使用してページのローカルコピーを作成しています。 Wgetにはローカルファイルシステムへのリンクを変換するオプションがありますが、それはかなり良いですが、まだ外部リンクを保持しているので、httpを含んでいるリンクがあります。NokogiriでHTMLからすべての外部リソースを削除します。

私はHTTPが含まれているすべてのものを見つけるために得ることができる最も近いが、この使用している:

doc.searchを( "// * [開始-と(@href、 'HTTP')]")

しかし、それはちょうどhref要素を見つけ、httpは画像、ビデオ、その他のものでも可能です。 ノコギリがhttpを含むすべてのことを教えてくれる正しい指示は何ですか?

ありがとうございました。

答えて

2

あなたは、単に任意の属性が始まるを持つ要素に検索を拡張したい場合は「HTTP」あなたはこれを行うことができます。

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

こんにちは、おかげでそんなに!私の必要性のために、httpを含むすべてのものを得るために少し変更しなければなりませんでした。しかし、あなたのコードは私を軌道に乗せました。私は現在doc.search( "// @ * [starts-with(。、 'http')]" – Pod

+0

を使用しています)違いは、私のXPathステートメント(typoは修正されました)は、 'http'、あなたは*属性ノード*だけを見つけるのですが、どちらかがOKです。それは後でマッチで何をするかによって異なります。 –

関連する問題