我正在嘗試僅保存本網站 MusicRadar中示例頁面的鏈接
require 'open-uri'
require 'nokogiri'
link = 'https://www.musicradar.com/news/tech/free-music-samples-royalty-free-loops-hits-and-multis-to-download'
html = OpenURI.open_uri(link)
doc = Nokogiri::HTML(html)
#used grep because every sample link in that page ends with '-samples'
doc.xpath('//div/a/@href').grep(/-samples/)
問題是它只能找到 3 個鏈接我做錯了什么?如果我想打開每個鏈接?
uj5u.com熱心網友回復:
CSS 選擇器比 XPath 更有用(如果檔案結構足夠好的話)
現在您使用了類似于 CSS 選擇器的 XPath div > a,但您不需要它,因為例如里面的一些鏈接p
如果您需要所有鏈接,-samples可以使用*=選擇器
doc.css('a[href*="-samples"]') # return Nokogiri::XML::NodeSet with matched elements
doc.css('a[href*="-samples"]').map { |a| a[:href] } # return array of URLS
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510049.html
標籤:红宝石小切
