lxml.html
を使用し、XPath
の代わりにCSSSelector
を使用して、下記のhtmlコードを解析しようとしています。Python:lxml.cssselectの中で使用するCSSセレクタ
link = doc.cssselect('html body div.results dl dt a)
上記のコードは、出力として私content-1
とcontent-2
を与えているが、私の所望の出力はlink 1 link 2
です。だから、コードを
link = doc.cssselect('html body div.results dl dt a[href]')
と置き換えましたが、まだ同じ出力が得られています。だから私の質問は、href属性を取得する適切なCSSセレクターです。
<div class = "results">
<div> some tags here </div>
<dl>
<dt title = "My Title 1" style = "background: transparent url('/img/accept.png') no-repeat right center">
<a href = "/link 1"> content-1</a>
</dt>
</dl>
<dl>
<dt title = "My Title 2" style = "background: transparent url('/img/accept.png') no-repeat right center">
<a href = "/link 2">content-2</a>
</dt>
</dl>
</div>
私はそれを自分で考え出しました。とにかく答えが – RanRag
@brandizziの場合は、あなたが正しいです - あなたはCSSでは、属性ではなく要素を選択することができます - 括弧はどの要素を選択するかをフィルタリングします(ただし、href属性なしのタグどのようなa [href]があるか)。 –
@RanRag、最後にそれが必要ない場合でも、brandizziの答えを正確にチェックしてください。 –