2015-04-14 20 views
5

XPath ve import.io ile ilgili bazı sorunlar yaşıyorum ve umarım yardımcı olabilirsiniz. :) Import.io ile substring() nasıl kullanılır?

html kodu:

./td[3]/a[1]/@href 
: Şu an için

<a href="page.php?var=12345"> 

, ben href içeriği (? page.php var = 12345) bununla ayıklamak yönetmek

Yine de, sadece toplamak istiyorum:

substring çözüm olabilir ama görünmüyor Ben kullandığımda import.io üzerinde çalışmak için ...

substring(./td[3]/a[1]/@href,13) 

Sorun ne hakkında herhangi bir fikir?

Şimdiden çok teşekkür ederiz!

cevap

7

xpath için bu kullanmayı deneyin:

([^=]*)$ 

Bu, ISBN numarası alacak aradığınız:

.//*[@class='oeil']/a/@href 

Sonra regex için kullanabilirsiniz (Metin olarak seçilen alanı var) için.

import.io yalnızca bir düğüm listesi döndürdüğünde XPath işlevlerini destekliyor

+0

Başar! İşe yarıyor! Sadece regex ifadenizi XPath koduma eklemek zorunda kaldım ve ISBN numarasını aldım! Çok teşekkürler Wilson! :) – Pierre

1

Yolunuz ifade iyidir, ama belki de

substring(./td[3]/a[1]/@href,14) 

"çalışmak görünmüyor" olmalıdır yanlış ne olduğu çok açık bir tanım değil. Hata mesajları alıyor musunuz? Çıkış yanlış mı? Gösterebildiğiniz yol ifadesini çevreleyen herhangi bir kodunuz var mı?


Sen alt dizeyi kullanabilirsiniz, ancak substring-after() kullanarak daha iyi olurdu. girdi olarak gösterdiğiniz minik pasajı varsayarak

substring-after(/a/@href,'=') 

:

<a href="page.php?var=12345"/> 

12345 

seçin ve hesaba giriş yapısını alarak edecek

substring-after(./td[3]/a[1]/@href,'=') 

A liderBir yol ifadesinde, geçerli bağlam düğümünün yalnızca acil çocuk td düğümlerini seçer. Ne yaptığınızı bildiğinize güveniyorum.

+0

Hello Mathias! Hızlı cevabınız için teşekkürler. :) Haklısınız "işe yaramıyor gibi görünüyor" -yeni-belirsiz ... Şey, yol ifademi koyduğumda, satır, sonuç sayfasından litteral bir şekilde kaybolur ... var olmak. Bu yüzden, import.io'nun substring() öğesini kabul edip etmediğini soruyorum. Evet, lider için biliyorum.Ancak, href içeriğinin import olarak alınması için para cezalarının çalıştığından emin olun.io her satırı satır olarak tanımlar. Belki de sayfa ile daha kolay olacaktır: http: // www (nokta) edistat (nokta) com/palmares.php – Pierre

+0

@Pierre Sorununuzu import.io üzerinde yeniden oluşturmak istiyorum. XPath ifadesini nereye girebilirim? –

+0

Size (Edistat.com) verdiğim sayfa için bir Extractor oluşturun, sonra yeni bir sütun ekleyin, bir kitabın bir linkini seçin ve son olarak, pencerenin sağ üst köşesinde "vida-anahtarı" (clutch) üzerinde Gelişmiş ayarlara erişmek için CSS düğmesine yakın düğme): XPath ve normal ifade alanları görünmelidir. – Pierre