スポンサー広告---------
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
過去_log_0-2013-07-18
pixivの新着チェックとか
mmxxクリップボード02

mechanizeでピクシブにログインして
YAMLで投稿件数を見て、
ヤフーメール使って新着お知らせスクリプト


YAMLファイルを適当に作る

#ここから

---
sakurazawa:
n: 0
url: http://www.pixiv.net/member_illust.php?id=125969

#ここまで

この書式でコピペしてけば
複数アカウントおk




--------- pixiv_res.rb ----------

#coding: utf-8

require "mechanize"
require "pp"
require "open-uri"
require "kconv"
require 'net/smtp'
require 'time'
require "yaml"

agent = Mechanize.new
# uri = URI.parse( "http://www.pixiv.net/" )
form = agent.get('http://www.pixiv.net/index.php').forms[2]
form.pixiv_id = "id"
form.pass = "pass"
agent.submit form
p agent.page.uri

loop do

file = "pixiv/i.yaml"
conf = YAML.load_file( file )
conf.clone.each do | id , re |
agent.get re["url"]
agent.page.body.toutf8 =~ %r!の作品一覧(\d.*)件!
n = $1.to_i
if re["n"].to_i != n
re["n"] = n
open( file ,"w") do |f|
YAML.dump(conf,f)
end
p id
p :sin
from = "@yahoo.co.jp"
to = "@ezweb.ne.jp" # sousin saki
content = <<-EOF
From: #{from}
To: #{to}'
Subject:pixiv
Date: #{Time.now.rfc2822}

新着イラスト
#{id}
#{re["url"]}
EOF
Net::SMTP.start('smtp.mail.yahoo.co.jp', 25, 'yahoo.co.jp', 'id', 'pass')
.send_message(content.tosjis, from , to)

end # else
end # each
print "sleep_10m_r5_"
# 10m + rand..
sleep( 60 * 10 ) + rand(5)

end # loop

p :end


# //////////////////


編集するところは、
pixivのID パス
Yahoo メールの ID パス メールアドレス
送信先のメールアドレス(携帯等)


以前のpixivログインフォームは
form = agent.get('http://www.pixiv.net/index.php').forms[2]

form = agent.get('http://www.pixiv.net/index.php').forms[0]
での取得だったけど、ページ少し変わってた
なので、また変わる可能性あり、
p agent.page.uri
ここで表示されるURLがmypageみたいな感じならログイン成功してる


ただヤフーメールのサーバーがなんかおかしくて
たまにヤフー側のログインに失敗してる事あり


それで新着受け取ったらYAMLの n: の要素を更新するから

---
sakurazawa:
n: 92
url: http://www.pixiv.net/member_illust.php?id=125969

こうなる




って・・・・寝起きでなんか作ってみたけど、
用途が、狭い・・・!!
pixivに新着をメールでお知らせ機能があれば良い
   0..
Name
comment

hibana
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。