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()。

  
原文地址:https://www.cnblogs.com/zhuque/p/2804743.html