File: wsdlDriver.rb

package info (click to toggle)
ruby-soap4r 2.0.5-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,032 kB
  • sloc: ruby: 52,729; xml: 266; sh: 42; javascript: 20; makefile: 13; perl: 10
file content (29 lines) | stat: -rw-r--r-- 815 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#require 'uconv'
require 'soap/wsdlDriver'

word = ARGV.shift
# You must get key from http://www.google.com/apis/ to use Google Web APIs.
key = File.open(File.expand_path("~/.google_key")) { |f| f.read }.chomp

GOOGLE_WSDL = 'http://api.google.com/GoogleSearch.wsdl'
# GOOGLE_WSDL = 'GoogleSearch.wsdl'

def html2rd(str)
  str.gsub(%r(<b>(.*?)</b>), '((*\\1*))').strip
end


google = SOAP::WSDLDriverFactory.new(GOOGLE_WSDL).create_rpc_driver
google.options["soap.envelope.use_numeric_character_reference"] = true
google.wiredump_dev = STDOUT if $DEBUG
#google.generate_explicit_type = false

result = google.doGoogleSearch( key, word, 0, 10, false, "", false, "", 'utf-8', 'utf-8' )

exit

result.resultElements.each do |ele|
  puts "== #{html2rd(ele.title)}: #{ele["URL"]}"
  puts html2rd(ele.snippet)
  puts
end