1

次のようなクエリを使用して検索したときに、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 を使用して実行できますか?

4

2 に答える 2

1

利用規約を破っても構わない場合は、Captcha 解決用の API があります。これらは、 Serposcopeなどの結果スクレーパーでよく使用されます。

たとえば、アンチキャプチャ

于 2016-06-02T14:00:34.380 に答える