次のようなクエリを使用して検索したときに、Googleでの合計結果数を出力するRubyスクリプトを作成したいallinurl: http://www.example.net/Downloads.aspx?Doc=
ページのソース コードを調べて、次の Ruby スクリプトを作成しました。
require "rubygems"
require "rest-client"
url="https://www.google.com.np/search?q=allinurl:+http://www.dpsmathuraroad.net/Downloads.aspx%3FDoc%3D&lr=&safe=active&hl=en&noj=1&biw=1366&bih=643&filter=0"
intel=RestClient.get(url)
xfile=File.open("dpsmathuraroad.txt","w")
xfile.write(intel.body)
xfile.close
xfile2=File.open("dpsmathuraroad.txt", "r")
while !xfile2.eof?
ch=xfile2.readline
if ch=~ /<div id="resultStats">About /
break
end
end
dat=ch.split(/[<div id="sbfrm_l"><div id="resultStats">About , results<nobr> ]/)
puts dat[1]
gets
dat=ch.split(/[<div id="sbfrm_l"><div id="resultStats">About , results<nobr> ]/)
上記のコードの行は、ページのソース コードからの純粋な操作です。
しかし残念なことに、Google は人間の挑戦を行い、CAPTCHAが干渉します。
干渉するキャプチャを乗り越えて、そのような Ruby スクリプトで望ましい結果を得るにはどうすればよいですか? 一部の API を使用して実行できますか?