5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

perlでmixiの足跡一覧を取得するぞ!

1 :デフォルトの名無しさん:2010/02/09(火) 20:08:56
俺、がんばる。みてて。

2 :デフォルトの名無しさん:2010/02/09(火) 20:11:42
とりあえず実行環境を準備する。

アクティブパールをインストールしても良いけど
http://www.activestate.com/

今回はvmware + ubuntuの環境で開発するよ
http://www.vmware.com/jp/products/player/
http://www.ubuntulinux.jp/download/


3 :デフォルトの名無しさん:2010/02/09(火) 20:25:25
・まずは色々とググッてみる
(mixi perl html 取得 ログイン情報 ログイン ssh 等々…)

・次にwiresharkを使ってログイン時に送受信されているパケットをスニッフィング
POST /login.pl HTTP/1.1
Host: mixi.jp
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.78 Safari/532.5
Referer: http://mixi.jp/home.pl
Content-Length: 80
Cache-Control: max-age=0
Origin: http://mixi.jp
Content-Type: application/x-www-form-urlencoded
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Cookie: gadgetUserPrefs-7157=; emid=省略; rsi_ct=省略; IMPASEG=省略
Accept-Language: ja,en-US;q=0.8,en;q=0.6
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.3

next_url=%2Fhome.pl&email=メールアドレス&password=パスワード&x=43&y=8HTTP/1.1 200 OK
Date: Tue, 09 Feb 2010 10:44:00 GMT
Server: Apache
X-Dealer: 170105
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 101
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: BF_SESSION=省略; path=/
Set-Cookie: BF_STAMP=省略; path=/
Connection: close

文字化け

4 :デフォルトの名無しさん:2010/02/09(火) 20:29:09
参考になりそうなページを見つけたのでメモ

第74回HTTP(5) メソッド
ttp://www5e.biglobe.ne.jp/~aji/3min/74.html

ちなみに自分はど素人なので一つ一つ調べながら行きます。

5 :デフォルトの名無しさん:2010/02/09(火) 20:32:36
スニッフィングした情報を見た感じ
/login.pl(http://mixi.jp/login.pl)に対してログインIDとPWがPOSTされているみたいですね。

↓この部分かな?
next_url=%2Fhome.pl&email=メールアドレス&password=パスワード&x=43&y=8HTTP/1.1 200 OK

6 :デフォルトの名無しさん:2010/02/09(火) 20:40:05
・なら/login.plにメールアドレスとパスワードをPOSTして
帰ってきた値はどうなるのかを見てみる。

・参考にしたページ
ttp://www2u.biglobe.ne.jp/~MAS/perl/waza/pageget.html

・LWPっていうモジュールでwebページを取得できるらしい
ttp://homepage3.nifty.com/hippo2000/perltips/LWP/UserAgent.html

・ソース
use strict;
use warnings;
use LWP::Simple;

# ファイルに保存
getstore('http://mixi.jp/login.pl?next_url=%2Fhome.pl&email=メールアドレス&password=パスワード&x=43&y=8', 'save.html');

・結果(失敗)
ログイン画面のソースがかえってきてしまった

7 :デフォルトの名無しさん:2010/02/09(火) 20:56:28
なんかすでに作られたものがあった

ttp://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB/WWW::Mixi



8 :デフォルトの名無しさん:2010/02/09(火) 21:11:47
このまま車輪の再発明をしろ

9 :デフォルトの名無しさん:2010/02/09(火) 21:31:15
お風呂はいってきた。
なんか7のモジュールをcpanからインストールして
サンプルソースを動かしてみたら簡単取得できた。
やる気が1000下がった。

・サンプルソース
#!/usr/bin/perl -w
use WWW::Mixi;
use HTTP::Cookies;
use HTTP::Request::Common;
use strict;
my $mixi_email = 'メールアドレス';
my $mixi_password = 'パスワード';
my $login_url = 'http://mixi.jp/login.pl';
my $home_url = 'http://mixi.jp/home.pl';
my $mixi = WWW::Mixi->new($mixi_email, $mixi_password);
print "Cookieを有効にします。\n";
my $cookie = sprintf('cookie_%s_%s.txt', $$, time);
my $cookie_jar = HTTP::Cookies->new(file => $cookie, ignore_discard => 1);
$mixi->cookie_jar($cookie_jar);
print "ログインします。\n";
my @form = ('email' => $mixi_email, 'password' => $mixi_password, 'next_url' => $home_url);
my $request = &HTTP::Request::Common::POST($login_url, [@form]);
my $response = $mixi->request($request);
print "ホームを取得します。\n";
$request = &HTTP::Request::Common::GET($home_url);
$response = $mixi->request($request);
print $response->content;

・でも
>>8に激励を頂いたのでこのままもうちょっとがんばってみる。

10 :デフォルトの名無しさん:2010/02/09(火) 22:01:13
参考になりそうなページを見つけたのでメモ
ttp://okwave.jp/qa/q3578497.html
ttp://www.augustus.to/blog/3128/archives/2004/08/perl_cookie.html
ttp://www.dengeki.ne.jp/tohoho/search.cgi?key=%BA%C6%B5%A2
ttp://space.geocities.jp/y4yet3/
http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB/LWP#i7

11 :デフォルトの名無しさん:2010/02/09(火) 22:16:18
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

12 :1:2010/02/10(水) 22:39:35
なんかチンパンジーとか言われてる><
今日もがんばるよ!

13 :デフォルトの名無しさん:2010/02/10(水) 22:44:28
D言語最高!

14 :デフォルトの名無しさん:2010/02/11(木) 19:35:31
彼女にふぇらちおしてもらえるかもしれないぞ
JavaScriptとVBScriptバージョンも作るんだ

15 :デフォルトの名無しさん:2010/02/11(木) 21:29:56
そろそろ次のことを考えようじゃないか。
特定のコミュニティの更新情報を取得
なんてどう?

16 :デフォルトの名無しさん:2010/02/12(金) 20:18:03
おい、まだかよ
あと完成したらレンタルサーバーでいいから公開するんだぞ

17 :1:2010/02/13(土) 00:29:43
まぁまぁゆっくりやらせてくれ。
あまりにもperl初心者すぎて先にすすまん

入門書読んでます。

>>16
ソースを公開するから動作環境は自分たちで用意して

18 :1:2010/02/13(土) 00:44:24
>>15
たとえば何処の?

19 :1:2010/02/13(土) 12:33:14
そこそこおっきい本屋に来た
誰かオススメの入門書教えて><

20 :デフォルトの名無しさん:2010/02/13(土) 13:35:49
フェラチオについてのお勧め本なら紹介できるんだが…

21 :デフォルトの名無しさん:2010/02/13(土) 13:51:15
ど素人にしては手馴れてるように見えるが
単にPerl素人ってことなのだろうか

>>19
初めてのPerlの新版が最近出たからそれにしる

22 :1:2010/02/13(土) 13:59:33
まだ本屋にいます

>>21
ありがとう!じゃぁとりあえず一冊は定番のらくだ本にするね
5版が最新?

あとLWPモジュールについて詳しく解説されてる本ってない?

23 :1:2010/02/13(土) 14:09:41
ディズニーランドの本を間違えて買ってしまいました

24 :デフォルトの名無しさん:2010/02/13(土) 14:11:51
トイレ行きたい・・・
本屋に来ると払いたくなります

25 :1:2010/02/13(土) 14:14:57
LWPモジュールうんぬん以前にクッキーの扱い方とかhtmlプロトコルの仕組みとかがわかってなさ過ぎる
もうしばらく本屋で勉強します。

Haskellの入門書があったので少しだけ浮気しました

26 :1:2010/02/13(土) 14:15:48
23,24はもりあげようとしてくれてるのか邪魔しようとしてるのかどっちなんだw

27 :1:2010/02/13(土) 14:31:14
ウェルコット スーパー61テイクオフ! オーヴァー!

アイリーーーーーーン!ファック!アイリーン

28 :1:2010/02/13(土) 15:04:35
GoogleAppEngineで動かすにはどうすればいいのでしょうか?

29 ::2010/02/14(日) 00:13:15
Pythonでやることにしました。

30 :デフォルトの名無しさん:2010/02/14(日) 08:09:03
なんで?

31 :デフォルトの名無しさん:2010/02/14(日) 13:05:19
その前に本屋に行ったのは本物なのか

32 :1:2010/02/14(日) 18:26:41
本屋に行ったのは本物だよー
>>23,24,27,28,29あたりは盛り上げ約なので気にせずに

33 :1:2010/02/14(日) 18:58:07
>>21氏に頂いたアドバイス通りオライリーの「初めてのperl 第5版」買ってきました。
4,5日はこの本読むのに時間使います。

当方仕事の関係上流れが非常に遅くなります。
ゆっくり行きますので暖かく見守って下さい。

目的の物が完成するまでの間利用するアドレスを作りました。

:激励、アドバイス、指摘はこちらへ
mixi.in.the.perl@gmail.com

34 :デフォルトの名無しさん:2010/02/14(日) 20:20:42
どーでも良いからトリップつけてくれよ

35 :デフォルトの名無しさん:2010/02/14(日) 22:12:42
1が頑張ります系のスレって寒いんすけど
なんでスレ立てるの? 自己顕示?

36 :デフォルトの名無しさん:2010/02/14(日) 22:24:42
つーかもうできたんで
GAEか何かで公開していいかね?
Perlじゃないんだけどね。

37 :1 ◆1/FYB0.jU2 :2010/02/15(月) 00:48:39
>>34 トリップって知らなかったよ! 今回から投稿する時はそうします。
>>35 うん、そうです。
>>36 どうぞ、perlにも既にモジュールがあるみたいですよ



38 :デフォルトの名無しさん:2010/02/15(月) 03:11:09
削除依頼だしとけよ

39 :デフォルトの名無しさん:2010/02/21(日) 03:12:06
ぜひ公開してくれ
ちなみにmixiアプリというものもあるぞ
あれでもいろいろmixiの情報を取得できる


40 :デフォルトの名無しさん:2010/02/21(日) 13:54:28
バカだな
あれじゃダメなんだよ

41 :デフォルトの名無しさん:2010/02/21(日) 14:04:57
このスレ終わったの?
HTTPやPerlの勉強チマチマやるスレになるかと思ってたのに

42 :デフォルトの名無しさん:2010/02/21(日) 18:34:47
どうせこういう流れになるのは分かってる
だからこそ、こういうスレ見るとムカツク

43 :1 ◆1/FYB0.jU2 :2010/03/18(木) 01:09:30
test

44 :1 ◆1/FYB0.jU2 :2010/03/18(木) 01:12:27
久しぶり!

ログインはできたよ。
mixiのサーバーからはクッキー情報が送られてきてるのに指定したファイルに保存されないのはどうして?

#!/usr/bin/perl -w
use HTTP::Cookies;
use HTTP::Request::Common;
use LWP::UserAgent;
#cookieを保存するファイル
$file="cookies_mixi.txt";
# UserAgentの生成
$ua = LWP::UserAgent->new;
#ユーザエージェントを設定
$ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5');
#ログイン情報の送り先、メールアドレス、パスワード等の各種必要情報をセット
my $url = 'http://mixi.jp/login.pl';
my %formdata = (
"next_url" => '/home.pl',
"email" => 'XXXXX@gmail.com',
"password" => 'XXXXX',
"x" => '43',
"y" => '10',
);
#リクエストの生成
my $req = POST($url, [%formdata]);
#リファラーを設定
$req->referer('http://mixi.jp/home.pl');
#cookie_jarの生成
$ua->cookie_jar(HTTP::Cookies->new(file => $

45 :1 ◆1/FYB0.jU2 :2010/03/18(木) 01:17:08
・メモ

44のスクリプトを実行した時に送信するパケット
POST /login.pl HTTP/1.1
Connection: close
Host: mixi.jp
Referer: http://mixi.jp/home.pl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5
Content-Length: 81
Content-Type: application/x-www-form-urlencoded

y=10&email=XXXXX%40gmail.com&password=XXXXX&next_url=%2Fhome.pl&x=43HTTP/1.1 200 OK
Date: Wed, 17 Mar 2010 16:14:01 GMT
Server: Apache
X-Dealer: 170087
Vary: Accept-Encoding
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: BF_SESSION=XXXXX; path=/
Set-Cookie: BF_STAMP=XXXXX; path=/
Connection: close
Transfer-Encoding: chunked

5c

<html><head><meta http-equiv="refresh" content="0;url=/check.pl?n=%2Fhome.pl"></head></html>

0

46 :デフォルトの名無しさん:2010/03/18(木) 01:42:44
cookie_jarを生成してるところが途中で切れてないか
あとはHTTP::Cookiesのコンストラクタのautosaveパラメタを試してみる

47 :デフォルトの名無しさん:2010/03/19(金) 01:53:24
相手すんな

48 :デフォルトの名無しさん:2010/04/19(月) 16:27:14
mixi login後にproxyにして8080ポートから見れるようにできないかな



49 :デフォルトの名無しさん:2010/05/08(土) 19:58:22
期待保守

50 :デフォルトの名無しさん:2010/05/25(火) 01:44:14
何が難しくて「perlでmixiの足跡一覧を取得」することができないのでしょうか?
超素人の僕にはさっぱり分かりません

ログイン後の処理でしょうか?

51 :デフォルトの名無しさん:2010/05/26(水) 17:59:21
cockie_jar使わなくともセッションを取得したあとそれを使ってアクセスすれば普通に見れるんじゃね

14 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)