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