0
<div class="one">
    <a class="two" href="Something..."><img src="http://..."/></a>
    <p> stuff.... </p>
    <p><img src="http://....." /></p>
</div>

私が解析しているこのばかげた HTML があります。1 つのメイン クラスがoneと呼ばれ、もう 1 つのネストされたtwoと呼ばれるクラスがあることがわかります。クラスoneのすべての画像を解析しようとしていますが、どうやら私が持っている XPath は、クラスoneの画像である 1 つの画像しかキャッチしていないようです

私はこれを試しました:

//div[@class="one"]/img | //a[@class="two"]/img

しかし、どうやら私はクラス2からキャッチしていませんが、クラス1からのみこれを行うことができますか?

lxml.html の xpath 機能を使用しています。

4

1 に答える 1

1

このXpath表現を試してください:

//div[@class="one"]//img

テスト :

xmllint --html --xpath '//div[@class="one"]//img' \
    'http://sputnick-area.net/ftp/downloads/testSO.html'

出力

<img src="http://...">
<img src="http://.....">
于 2012-10-10T00:37:54.083 に答える