2009-07-24 12 views

Répondre

53

Vous êtes si près de répondre à cette question que je suis un peu réticent à y répondre pour vous. Cependant, le XPath suivant devrait fournir ce que vous voulez (à condition que la source soit XHTML, bien sûr). Pour d'autres conseils, consultez W3 Schools. Ils ont d'excellents tutoriels sur de telles choses et une excellente référence aussi.

9

En utilisant hpricot cela fonctionne:

doc.at('//img[@class="photo-large"]')['src'] 

Si vous avez plus d'une image, ce qui suit donne un tableau:

doc.search('//img[@class="photo-large"]').map do |e| e['src'] end 

Cependant, Nokogiri est many times faster et “can be used as a drop in replacement” pour Hpricot.
Voici la version pour Nokogiri, dans lequel cette XPath pour les attributs sélection fonctionne:

doc.at('//img[@class="photo-large"]/@src').to_s 

ou pour de nombreuses images:

doc.search('//img[@class="photo-large"]/@src').to_a 
+2

Trébuchant sur cette question, je ne peux pas empêcher de se demander: ce qui vous fait répondre référencement depencies liées rubis? Semble assez à l'improviste pour moi. –

+0

@FabianPas Je me demande la même chose: D –

+0

Haha, ça fait un moment non? : p –

0

// img/@ src

vous pouvez simplement aller avec ceci si vous voulez un lien de l'image.

exemple:

<img alt="" class="avatar width-full rounded-2" height="230" src="https://avatars3.githubusercontent.com/...;s=460" width="230"> 
Questions connexes