Biraz karmaşık bir XPath sorununa rastladım. Bir web sayfasında (I Imgur kullanılan ve bazı metin değiştirildi) bir kısmının bu HTML düşünün:XPath görüntü bağlantılarını seç - img src'nin yalnızca varsa href bağlantısı, başka bir deyişle img src bağlantısını seç
<a href="//i.imgur.com/ahreflink.jpg" class="zoom">
<img class="post-image-placeholder" src="//i.imgur.com/imgsrclink.jpg">
</img>
</a>
Ben her şeyden önce img
etiketleri belgede ve onların src
es tekabül bulma aramak istiyorum. Ardından, img src
bağlantısının bir görüntü dosyası uzantısı (.jpeg, .jpg, .gif, .png) içerip içermediğini kontrol etmek istiyorum. Bir resim uzantısı içermiyorsa, kapma. Bu durumda bir görüntü uzantısı var. Şimdi kapmak istediğimiz bağlantıyı bulmak istiyoruz. parent href
bulunduğundan, ilgili linki almalıyız.
Sonucu İstenilen: //i.imgur.com/ahreflink.jpg
Ama şimdi en parent href
yok diyelim:
<a name="missing! oh no!">
<img class="post-image-placeholder" src="//i.imgur.com/imgsrclink.jpg">
</img>
</a>
İstenilen Sonucu: Bu XPath oluşturma hakkında gitmek nasıl //i.imgur.com/imgsrclink.jpg
? Eğer yardımcı olursa, ben de XPath ile Python (Scrapy) kullanıyorum. Yani problemin ayrılması gerekiyorsa, Python da kullanılabilir.
Şimdiye kadar bir şey denediniz mi? –
Sadece bağlantıların görüntü uzantılarını kontrol ettiğim kısma girdim, ama hangi bağlantıyı alacağımı seçmek konusunda kafam karıştı. – dtgee
Tamamen XPath kullanarak sonuca ulaşmak ve denemek ister misiniz, yoksa mantığın bir kısmını uygulayabileceğiniz bir betik diliniz var mı? –