0

2 つのデータ項目を持つ辞書のリストを作成しようとしています。

私が見ているページには//div[@id='content']/*[self::p or self::h2]/a[2];に 37 件の一致があります。ただし、 //div[@id='content']/*[self::p or self::h2]/a[contains(@href,'game')]/img[@src] 2 つの xpaths have //div[@id='content']/*[self::p or self::h2]in common には 33 の一致しかありません。2番目のxpathが一致する場合にのみ、最初のxpathに一致する要素を取得し、2番目の要素なしで4を残します。

これが xpath で達成できることを願っていますが、そうでない場合は、Python でこれを達成する関数を作成するためのアドバイスを使用できます。

4

3 に答える 3

0

このXPathをお探しですか:

//div[@id='content']/*[self::p/a[contains(@href,'game')]/img[@src] or self::h2/a[contains(@href,'game')]/img[@src]]/a[2]
于 2013-02-19T09:09:19.380 に答える
0

XPath でマッチングを行い、結果のノードの親を Python で取得するだけです。

于 2013-02-18T22:10:07.553 に答える
0

これがあなたが望むもののように聞こえます:

//div[@id='content']/*[self::p or self::h2]/a[2][contains(@href,'game') and img[@src]]

試してみませんか?

于 2013-02-18T22:10:51.903 に答える