现在我成功地从HTML页面抓取了完整的元素:
//img[@class='photo-large']
例如它会返回:
<img src="http://example.com/img.jpg" class='photo-large' />
但我只需要SRC网址(http://example.com/img.jpg)。有什么帮助吗?
答案 0 :(得分:63)
你是如此接近自己回答这个问题,我有点不愿意为你回答。但是,以下XPath应该提供您想要的(当然,如果源代码是XHTML)。
//img[@class='photo-large']/@src
如需进一步提示,请查看W3 Schools。他们有关于这些事情的优秀教程,也是一个很好的参考。
答案 1 :(得分:9)
使用 Hpricot ,这有效:
doc.at('//img[@class="photo-large"]')['src']
如果你有多个图像,下面给出一个数组:
doc.search('//img[@class="photo-large"]').map do |e| e['src'] end
然而, Nokogiri 为many times faster,而“can be used as a drop in replacement”为Hpricot。
这里是Nokogiri的版本,其中选择属性的XPath工作:
doc.at('//img[@class="photo-large"]/@src').to_s
或许多图片:
doc.search('//img[@class="photo-large"]/@src').to_a
答案 2 :(得分:0)
// IMG / @ SRC
如果你想要一个图像链接,你可以使用它。
示例:
<img alt="" class="avatar width-full rounded-2" height="230" src="https://avatars3.githubusercontent.com/...;s=460" width="230">