Rubyによるアメブロのペタ貼り自動化スクリプト(8) ペタ貼り対象の自動抽出(2)
更に、もっとペタを貼る相手を探す方法として、アメブロ内のランキングを利用する。
アメブロでは、ジャンル毎にランキングが公開されている。(元々このペタ貼りの自動化ソフトも、そのランキングを上げるために楽にペタを貼りたいという要望を受けて作り始めたモノなのだが…)
そのジャンル毎のランキングを使って、上限の500件までペタを貼る為のターゲットのブログを抽出する。
アメブロのランキングurlは以下の通り
http://ranking.ameba.jp/genre/detail?genreCode=****&page=n
ここで、****はブログのジャンル、nはランキングのページ数。各ジャンル毎に500位まで公開。各ページに50位毎に表示されるから、n=1〜10までのページを読み込めば、公開されているランキングを全部得る事が出来る。
ランキングのブログIDは、昨日作成した正規表現で抽出して、昨日同様、配列listに追加する。
僕は本と映画とマンガのランキングに参加しているので、そのジャンルのランキングのデータを収集する。
#自分のつけたい分野のランキングを確認(1)。本、読書ランキング上位のブログ for i in 1..10 res = Net::HTTP.get('ranking.ameba.jp','/genre/detail?genreCode=book&page='+i.to_s) res.to_s.scan(ameba_url) do |a| list.push(a[0]) #p a end end #自分のつけたい分野のランキングを確認(2)。映画ランキング上位のブログ for i in 1..10 res = Net::HTTP.get('ranking.ameba.jp','/genre/detail?genreCode=cinema&page='+i.to_s) res.to_s.scan(ameba_url) do |a| list.push(a[0]) #p a end end #自分のつけたい分野のランキングを確認(3)。マンガランキング上位のブログ for i in 1..10 res = Net::HTTP.get('ranking.ameba.jp','/genre/detail?genreCode=manga&page='+i.to_s) res.to_s.scan(ameba_url) do |a| list.push(a[0]) #p a end end
もちろん、昨日同様、最後に不要なID、重複したIDを外す。
list.delete("*****")#自分のブログを外す list.delete("famousblog")#人気ブログへのリンクを外す list.delete("content")#プレミアムブログへのリンクを外す list1 = list.uniq