-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

ruby--获取网站中的产品链接

ruby写的脚本运行更快,决定使用ruby来弄。

相比和我一样做电商网站的都有机会用到:获取某个页面中的所有URL

下面脚本另存为:URLScan.rb,用法:通过cmd命令,进入该脚本路径执行ruby URLScan.rb url

脚本中data.scan()可以放入你想要在对应页面查找的其他正则表达式,如data.scan(/<a href="(.*?)">/) ,即所有的URL

下面例子中时获取所有的产品链接

URLScan.rb
require 'net/http'
filename= File.new('c:\1.txt',"w+")
if $*[0]==nil
puts "Not URL, Please for: ruby URLScan.rb www.gaopeng.com"
else
h = Net::HTTP.new($*[0], 80)
resp, data = h.post('http://www.gaopeng.com/', nil) #获取要获取所有URL的页面的标记比如 :/index.html
if resp.message == "OK"
data.scan(/<a target="_blank" href="(.*?)"/).each do |x| #获取所有标记为href的URL
#<a target="_blank" href="http://www.gaopeng.com/deals/beijing/ftuan/1431948203">
puts x
filename.puts x
end
end
end 

这里使用的http.rb中的post方法,get方法的有报错,所有就没有用get()。

posted @ 2012-12-06 12:46  ZhuQue  阅读(555)  评论(0编辑  收藏  举报
多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。