1

背景:
HTML::TreeBuilder を使用して HTML ページ全体を解析しています。参考までに「whole_page」とします。次に、新しい TreeBuilder オブジェクトの継承された parse_content メソッド (whole_page と同じ) を使用して、"html_to_insert" などの html のチャンクを解析します。html_to_insert のルート要素は<div>タグにする必要があります。最終的に、html_to_insert ツリーを whole_page ツリーに挿入する必要があります。

問題:
html_to_insert ツリーが<html>、 、<head>および<body>タグでラップされていますが、これは明らかに必要ありません。HTML::Parser を調べて、問題を解決できるパラメータがないか調べましたが、何も見つかりませんでした。

質問:
parse メソッドが不要なタグで html_to_insert をラップするのを止める簡単な方法はありますか? 私がやろうとしていることを知っていますが、私はこのお尻を逆にやっていますか (より良い方法はありますか)?

助けてくれてありがとう。

4

2 に答える 2

3

HTML::Treegutsのメソッドを調べたいと思うかもしれません。非暗黙的なノードのみをリストとして返します。

于 2011-10-12T17:31:39.807 に答える
2

HTMLがXHTMLに準拠していること、つまり適切なXMLドキュメントであることを確認できる場合は、代わりにXMLツールを使用して作業を行うことができる場合があります。以前、私はこのタイプのジョブにXML :: Twigを使用していましたが、その方が少し簡単でした。

もちろん、インターネットから任意のWebページを解析している場合は、このタイプの保証がない可能性があります。

于 2011-10-12T17:14:26.217 に答える