簡単に:
require 'nokogiri'
html = '
<td width="50%">
<a href="/aems/file/filegetrevision.do?fileEntityId=10597525&cs=9b7sjueBiWLBEMj2ZU4I6fyQoPv-g0NLY9ETqP0gWk4.xyz">
screenshot.doc
</a>
</td>
'
doc = Nokogiri::HTML(html)
doc.search('a[href]').map{ |a| a['href'] }
どちらが返されますか:
[
[0] "/aems/file/filegetrevision.do?fileEntityId=10597525&cs=9b7sjueBiWLBEMj2ZU4I6fyQoPv-g0NLY9ETqP0gWk4.xyz"
]
パスの一致をフィルタリングする場合は、次のようなものを使用します。
pattern = Regexp.escape('/aems/file/filegetrevision.do?fileEntityId')
doc.search('a[href]').map{ |a| a['href'] }.select{ |href| href[ %r[^#{ pattern }] ] }
これも、次を返します。
[
[0] "/aems/file/filegetrevision.do?fileEntityId=10597525&cs=9b7sjueBiWLBEMj2ZU4I6fyQoPv-g0NLY9ETqP0gWk4.xyz"
]
このコードは、ドキュメント内のhref
すべての<a>
タグからパラメーターを返しhref
ます。2 番目の例では、パスでフィルター処理します。