読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Nokogiriを使って、alexaのHTMLを解析してみた

<スポンサーリンク>

ponako10さんが、はてなブログランキングとかを作ってくれるのに、alexaというサービスを使っている。
alexaはそんなに詳しくないんだけれど、そのドメインにどれだけの割合の流入があるのか?的なのを調べて出してくれるみたい。

いつか自動で収集したら楽だろうなぁと思っていたんだけど、その布石として、とりあえずRubyでスクレイピングしてみた。

require 'nokogiri'
require 'open-uri'

html = Nokogiri::HTML(open('http://www.alexa.com/siteinfo/hatenadiary.jp'))

table = html.css("#subdomain_table")

tr = table.css("tr")

table.css("tr").each do |tr|
	rank = tr['data-count']
	blog = tr.children.css(".word-wrap").text
	rate = tr.children.css(".text-right").text
	puts rank.to_s + "" + blog.to_s + " " + rate.to_s
	puts "---------------"
end

i = 0
html.css("#subdomain_table").each do |table|

end
=begin
table.css(".word-wrap").each do |tag|
	puts tag.text
	puts "-------"
end

=end

これを実行すると、以下のような結果が表示される。

位  Percent of Visitors
---------------
1位 hagex.hatenadiary.jp 37.37%
---------------
2位 programming-10000.hatenadiary.jp 8.63%
---------------
3位 masahiror.hatenadiary.jp 3.83%
---------------
4位 tetesuke.hatenadiary.jp 3.63%
---------------
5位 hisawooo.hatenadiary.jp 3.48%
---------------
6位 nyatla.hatenadiary.jp 3.14%
---------------
7位 furoshiki.hatenadiary.jp 3.13%
---------------
8位 meerkat00.hatenadiary.jp 2.84%
---------------
9位 karaage.hatenadiary.jp 2.46%
---------------
10位 kuenishi.hatenadiary.jp 2.42%
---------------
11位 zuisho.hatenadiary.jp 2.32%
---------------
12位 suminotiger.hatenadiary.jp 1.85%
---------------

hagexさん圧倒的すぎてヤバイw

そしてNokogiriはすごく使いやすい。
jQueryとか使って、CSSセレクタに慣れた人には特に使いやすいんじゃないだろか。