K's Garage Blog

趣味(バイク/車/パソコン/DIY)のこととか、気になったこととか。

RubyでGoogle検索順位を調べる(ちょっと修正)

以前作った、Googleでの検索順位を調べるRubyスクリプトですが、せっかく作ったので、会社のHPの順位を見るために、会社のLinuxサーバにCronで仕込んで、毎朝6時にチェックして、メールするようにしていたのですが、8/23から結果がちゃんと出てませんでした。
普通にブラウザで検索すると1ページ目に出ていたので、順位が下がったわけではなさそうです。
となると、Google検索結果で出力されるHTMLの構造が変わってしまったくらいしか考えられないので、Firebugで見てみると、やっぱり変わってました。
ということで修正しました。

スポンサーリンク


以前は、<div class="g">で囲まれているブロックをひとつの検索結果と見なし、その中のは<span class="a">の部分でURLをチェックしていましたが、見事になくなっていました。
といことで、検索結果は<li class="g">で、URLは<cite>の部分をチェックするように修正しました。

ソースはこちら。
#!/usr/bin/env ruby
$KCODE='u'

require 'rubygems'
require 'hpricot'
require 'open-uri'
require 'cgi'

#検索単語
searchWord=CGI.escape("er34")

#順位を調べる対象のURL
searchUrl="kotyalog.blog91.fc2.com"

#検索対象ページ数(1ページは10件)
pagenum = 5

start = 0
pagenum.times {|index|
start = index * 10
#検索結果を取得する
doc = Hpricot( open("http://www.google.co.jp/search?lr=lang_ja&q=" + searchWord + "&start=" + start.to_s ).read )
#対象URLが含まれる検索結果を探し順位を表示する
(doc/"li.g").each_with_index { |result,i|
if (result/:cite).inner_html =~ /#{searchUrl}/
puts "#{start+i+1}:#{(result/:cite).inner_html}"
end
}
sleep 1
}

関連記事

スポンサーリンク

タグ(キーワード):プログラミング ruby
[ 2008/08/30 ] WEB | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

kotyasuke

Author:kotyasuke
バイク/車/パソコン/DIYが趣味の中年オヤジです。
バイク:グロム
車:エブリイワゴン(DA17W)

タグリスト
人気ページ