change to zcc to insure saving of filename to 901a. needs to be better implemented
[zcc.git] / ztargets / irspy-scrape.rb
blob8fb02cc7d7139facf79789707ec21970f1b08bf7
1 ## Jason Ronallo\r
2 # May 2007\r
3 \r
4 require 'rubygems'\r
5 require 'hpricot'\r
6 require 'open-uri'\r
7 require "rexml/document"\r
8 require "rexml/xpath"\r
9 #couldn't do m = 340\r
11 #Hpricot.buffer_size = 262144\r
12 TIME = Time.now.strftime("%Y%m%d%H%M%S")\r
13 puts TIME\r
14 STDIN.gets\r
15 m = 0\r
17 all_lines = []\r
18 i = 0\r
20 puts "And we begin!"\r
21 while m < 4000\r
22   puts "m = #{m}"\r
23   puts "This is going to take a while...."\r
25   #STDIN.gets\r
26   doc = open("http://irspy.indexdata.com/find.html?cql.anywhere=&dc.title=&zeerex.country=&net.protocol=z39.50&net.host=&net.port=&net.path=&zeerex.libType=&dc.description=&dc.creator=&_sort=&_search=Search&_count=20&_skip=#{m-20}"){\r
27     |f| Hpricot(f) }\r
29     #fields = doc.search(/"//a[@title='Raw XML record']")\r
30     #fields = doc.search("//a")\r
31     #puts fields.inspect\r
33     all_xml = []\r
34     #puts doc\r
35     (doc/"//a[@title='Raw XML record']").each do |link|\r
36       xml_address = "http://irspy.indexdata.com" + link.attributes['href']\r
37       puts xml_address\r
38       file = Net::HTTP.get(URI.parse(xml_address))\r
39       all_xml << file\r
40     end\r
42     full_xml = all_xml.join("\n") \r
44     #puts full_xml\r
46     ######xml_doc = REXML::Document.new full_xml\r
47     #puts xml_doc\r
49     \r
50     File.open("irspy-#{TIME}.xml", "a+") do |f|\r
51       f.puts full_xml\r
52       puts "written to file: #{i}"\r
53     end\r
54  \r
55     i += 1\r
56     m += 20\r
57     #sleep 10\r
58 end\r