我有这样的链接:
<div class="zg_title">
<a href="https://rads.stackoverflow.com/amzn/click/com/B000O3GCFU" rel="nofollow noreferrer">Thermos Foogo Leak-Proof Stainless St...</a>
</div>
我像这样刮它们:
product_asin = product.xpath('//div[@class="zg_title"]/a/@href').first.value
问题在于,它占用了整个URL,而我只想获取ID:
B000O3GCFU
我想我需要做这样的事情:
product_asin = product.xpath('//div[@class="zg_title"]/a/@href').first.value[ReGEX_HERE]
在这种情况下,我能使用的最简单的正则表达式是什么?
编辑:
奇怪的是,链接URL似乎不完整:
http://www.amazon.com/Thermos-Foogo-Leak-Proof-Stainless-10-Ounce/dp/B000O3GCFU/ref=zg_bs_baby-products_1
用途/\w+$/
:
p doc.xpath('//div[@class="zg_title"]/a/@href').first.value[/\w+$/]
/\w+$/
匹配尾随字母,数字,_
。
require 'nokogiri'
s = <<EOF
<div class="zg_title">
<a href="http://rads.stackoverflow.com/amzn/click/B000O3GCFU">Thermos Foogo Leak-Proof Stainless St...</a>
</div>
EOF
doc = Nokogiri::HTML(s)
p doc.xpath('//div[@class="zg_title"]/a/@href').first.value[/\w+$/]
# => "B000O3GCFU"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句