0

xpathを使用して、すべてのimgタグを取得し、フッターのIDを持つdivの下のimgタグを除外する方法を知っていますか?

現在、html ページのすべての img タグを取得するには、次のようにします。 imgs = tree.xpath('//img')

しかし、フッターのIDを持つdivの下にあるすべてのimgタグを除外したいので、これをやっています:

imgs = tree.xpath('//*[not(div[@id="footer"])]//img') <-しかし、これは機能しません

4

1 に答える 1

6

次のようになります。

imgs = tree.xpath('//img[not(parent::div[@id="footer"])]')

壊す:

  • //img<img>- すべてのタグを検索
  • []-where句
  • not(parent::div[@id="footer"])- 値フッターを持つ属性 ID を持つ (直接の) 親 div がない

<div>要素が直接の親ではなく、その親の1 つである場合は<img>、次を使用します。

imgs = tree.xpath('//img[not(ancestor::div[@id="footer"])]')
于 2013-10-03T08:50:42.240 に答える