1

XPatherプラグインによって生成されたxpathをhtmlに対して評価してコンテンツを取得するためにHtmlCleaner2.1ライブラリを使用しています。ただし、HtmlCleanerがxpathの評価に失敗する場合があります。

http://www.megaoutdoors.co.uk/norwegen-army-shirt-zipped-roll-top-collar-278-p.asp

製品タイトルの場合、XPatherによって指定されるxpathは// body / div [11] / div [6] / div [2] / form / div [1] / h1 ですが、HtmlCleanerを使用して評価すると失敗します。

この問題をどのように克服できますか。htmlcleanerがページをクリーンアップすると、ページの構造は変わりますか?

ありがとう
Jitendra

4

1 に答える 1

1

htmlcleanerがページをクリーンアップすると、ページの構造は変わりますか?

http://htmlcleaner.sourceforge.net/のイントロの例によると、HTMLCleanerは、クリーンアップ時にページの構造を確実に変更できます。この例では、html要素とbody要素を追加し、h1要素をテーブルの外に移動します。

ページ上でHTMLCleanerを実行して、そこからの出力を見てみませんか?次に、構造が変更されたかどうか、およびどのように変更されたかを確認できます。

それを回避する方法はありますか、言い換えれば、HtmlCleanerによって生成されたDOMをブラウザーによって構築されたDOMにできるだけ近づけてください。

これを行うには、デフォルトのタグ情報セットとは異なる、変更されたタグ情報セットを指定します。これは明らかに、DOMの「修正」を構成するものです。(コマンドラインインターフェイスを使用している場合は、使用方法についてはこちらを参照してください。)

または、DOMがブラウザーによってDOMに非常に近い別のhtmlパーサーを提案できる場合は、XPatherプラグインによって生成されたxpathが失敗することはほとんどありません。

HTML Tidyを試して、それがDOMにどのように影響するかを確認します。これは、スクレイプされたHTMLを整理するために広く使用されている成熟したプログラムです。

于 2010-12-22T12:53:06.477 に答える