今、私はこれでHTMLページから完全な要素をうまく取得しました:
//img[@class='photo-large']
たとえば、これは次のように返されます。
<img src="http://example.com/img.jpg" class='photo-large' />
しかし、私はSRCのURL( http://example.com/img.jpg )だけが必要です。何か助けは?
あなたはこれに自分で答えるのが非常に近いので、私はあなたのためにそれに答えるのには少し消極的です。ただし、次のXPathは必要なものを提供するはずです(もちろん、ソースがXHTMLの場合)。
//img[@class='photo-large']/@src
その他のヒントについては、 W3 Schools をご覧ください。彼らはそのような事柄に関する優れたチュートリアルと素晴らしいリファレンスも持っています。
Hpricotを使用すると、これは機能します:
doc.at('//img[@class="photo-large"]')['src']
複数のイメージがある場合は、次のように配列を提供します。
doc.search('//img[@class="photo-large"]').map do |e| e['src'] end
ただし、ノコギリは 何倍も速い であり、 "は次のように使用できますHpricotの場合は、1滴の置き換え " 。
ここでは、属性を選択するためのこのXPathが機能するNokogiriのバージョンを示します。
doc.at('//img[@class="photo-large"]/@src').to_s
または多くの画像の場合:
doc.search('//img[@class="photo-large"]/@src').to_a
// img/@ src
画像のリンクが必要な場合は、これで十分です。
例:
<img alt="" class="avatar width-full rounded-2" height="230" src="https://avatars3.githubusercontent.com/...;s=460" width="230">