我在Curl
脚本中使用Ruby
来抓取这种页面:
https://www.example.com/page.html?a=1&b=2&c=3&d=4
使用此代码:
value = `curl #{ARGV[0]} | grep "findMe:"`
result = value.scan(/findMe: (.*)/).flatten.first.split('$').last.gsub(',', '').to_f
puts result
但由于该页面正在使用301重定向,因此失败了,所以我添加了-L
属性:
value = `curl -L #{ARGV[0]} | grep "findMe:"`
result = value.scan(/findMe: (.*)/).flatten.first.split('$').last.gsub(',', '').to_f
puts result
现在返回结果很好,但脚本没有结束。在SSH termail上,就像在显示结果后问我其他参数一样。所以我必须按回车才能中止剧本。
当我在网络应用中实现此功能时,脚本无效,可能是由于此参数相关问题。
因此,我如何告诉curl在显示结果后立即中止,或者,首先忽略给定url中的任何参数(因为它们不影响页面内容)。所以它会自动刮掉这一部分:
https://www.example.com/page.html