Hatena::Grouprubyist

たばさの RSSフィード

04/14(火) 2009

mixiアプリ navi greasemonkey

| mixiアプリ navi greasemonkey - たばさの を含むブックマーク はてなブックマーク - mixiアプリ navi greasemonkey - たばさの

新着順表示がなくて残念なので作った。

と思ったらすでに使われているようですが、予想したものに近かったでしょうか?

http://userscripts.org/scripts/show/46563

f:id:hatecha:20090414060814j:image


diffも見れるようだ。

http://userscripts.org/scripts/diff/46563/80234

mixiアプリのリストを作ってみた

| mixiアプリのリストを作ってみた - たばさの を含むブックマーク はてなブックマーク - mixiアプリのリストを作ってみた - たばさの

http://www004.upp.so-net.ne.jp/tabasa/mixi/mixiappView-777.htm

777http://platform001.mixi.jp/view_appli.pl?id=777の開発者idの数字に変えてください。)


使ったスクリプト

mixi_platform-login-mech.rb

#!ruby -Ks
# -*- encoding: "Shift-JIS" -*-
require 'mechanize'
require 'logger'
require 'myStrNkf'

#
username = ""
password = ""
baseurl='http://platform001.mixi.jp'
#p id, pass
#exit

agent = WWW::Mechanize.new {|a| a.log = Logger.new('access.log') }
page = agent.get("#{baseurl}/home.pl")
form = page.forms[0]
form.fields.find {|f| f.name == 'email'}.value = username
form.fields.find {|f| f.name == 'password'}.value = password
form.fields.find {|f| f.name == 'next_url'}.value = '/home.pl'
page = agent.submit(form, form.buttons.first)

if /url=([^"])"/ =~ page.body
  link = 'http://mixi.jp' + $1.to_s
  agent.get(link)
end

def appShow baseurl,agent, appId, interval=2
  url="#{baseurl}/view_appli.pl?id=#{appId}"
  view = agent.get(url)
#p view.search("title").methods.sort
  sleep interval
  [
    "<a href='#{url}'>#{appId}</a>",
    view.search("title").to_s.sjis.sub(/^<title>(.*)<\/title>\z/){"<h1>#{$1}</h1>"},
    view.search('dl[@class="appliInfolistMiddle clearfix adminName"]').innerHTML.sjis,
    view.search('dl[@class="appliInfolistSmall clearfix joinLevel"]').innerHTML.sjis,
    view.search("div[@id=appliIntro]").innerHTML.sjis
  ]
end

$stderr.puts "upto:"
max=gets.to_i

puts '<div id="all">'
77.upto(max){|i| 
  res=appShow(baseurl,agent,i)
  res=i if res[2]==""
  puts "<div id="+"#{i}"+">"
  puts res,"<hr>"
  puts "</div>"
  $stderr.print "#{i}(#{res[2].size}),"
}
puts '</div>'

myStrNkf.rb

#!ruby
require'nkf'

class String
  def m_euc
    NKF::nkf('-e -m0',self)
  end
  def m_utf
    NKF::nkf('-w -m0',self)
  end
  def m_sjis
    NKF::nkf('-s -m0',self)
  end
  def utf
    NKF::nkf('-w',self)
  end
  def sjis
    NKF::nkf('-s',self)
  end
  def euc
    NKF::nkf('-e',self)
  end
end



また文字コードで悩む。

参照

mecanize.rb で mixi diary を自動取得する - World Wide Walker

はてなダイアリー

(09/04/18 requireなど修正)

(09/05/02 NKF::nkf('-u',self) 修正)

mixiアプリ開発、謎めも

mixiアプリ開発、謎めも - たばさの を含むブックマーク はてなブックマーク - mixiアプリ開発、謎めも - たばさの

xmlを更新してしばらくすると多分mixiにも反映される。キャッシュだからしょうがないか。(キャッシュだから元のを削除してもいいのかなと思ったらnot foundになる。)

(↑これは違うかも)

開発で急ぐ場合はトップページから「アプリ設定変更」に入りキャッシュを消す。

するとトップに戻ったり戻らなかったりする。どちらにしてもそれで表示をチェックしても反映されていない。「アプリ設定変更」にもう一度入り「設定を変更する」ボタンを押すとようやく反映される。

表示画面でフレームを更新すると、なぜか消えてるはずの一つ前のデータに戻ったり戻らなかったりする。

開発者のメイン画面のようなものはないので登録アプリの再設定の画面に入りにくい。


いくつかの画面(home,preview,canvas)を開発者で作成できるが現状ではpreviewページがないので利用登録しないと実際の表示は確認できない。プレビューってそういう意味じゃなくて?

「作成する前に似たアプリがないかご確認ください」とあるし、アプリ検索が出来そうなデザインだが何も検索できない。とりあえず付けただけ?


RSSリーダーとかステータス表示とか面白いけど、そのデータはどこに保存されるの?

トラックバック - http://rubyist.g.hatena.ne.jp/hatecha/20090414
カレンダー
<< 2009/04 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
archive Error : RSSが取得できませんでした。