lxml.html
kullanarak XPath
yerine CSSSelector
kullanarak aşağıda verilen html kodunu ayrıştırmaya çalışıyorum.Python: İçinde kullanmak için CSS Seçici lxml.cssselect içinde
link = doc.cssselect('html body div.results dl dt a)
Yukarıdaki kod çıkışı olarak bana content-1
ve content-2
veriyor ama benim istenen çıkış link 1 link 2
olduğunu. Bu yüzden kodumu
ile değiştirdim, ancak yine de aynı çıktıyı alıyorum. Yani benim sorum href özniteliği almak için uygun CSS seçicisidir.
<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>
Sadece kendim anladım.Her neyse cevabınız için teşekkürler – RanRag
@brandizzi, haklısınız - sadece css içindeki öğeleri seçemezsiniz, öznitelikleri değil - köşeli parantezler hangi elemanların seçileceğini filtrelemek içindir (ama sadece etiketlerini href öznitelikleri olmadan seçmek için değil –
@RanRag, sonuna kadar ihtiyacınız olmasa bile brandizzi'nin cevabını doğru olarak işaretlemelisiniz. –