Ruby 初心者スレッド Part 52at TECH
Ruby 初心者スレッド Part 52 - 暇つぶし2ch39:デフォルトの名無しさん
13/06/15 09:33:59.66
putsは文字列を表示するメソッドであって、デバッグ用途でオブジェクトの中身を確かめるメソッドじゃない
文字列(String)であるということが確実にわかっているのではない限り(あるいはわかっていても)通常はpを使う
irb> obj = [1]
irb> puts obj
1
irb> p obj
[1]
objは文字列ではなく整数の配列(と考えていいと作者に言われているオブジェクト)だということがわかる

putsではなくpを使うようになると対象オブジェクトが(たいていの場合)はっきりするので「なぜか」じゃなくなる
nil、空文字列、空の配列、空の文字列が入っている配列、nilが入っている配列、そういったものが区別できる

とりあえずデータベースに入れて確かめるのはやめとけ
絶対完全に間違いのないオブジェクトが得られる確証ができてからおもむろにデータベース部分のスクリプトを書き始めろ

40:デフォルトの名無しさん
13/06/15 11:24:19.53
みなさん勉強になります。ありがとうございます。

>>38さん
以下のURLで試しています。
URLリンク(www.google.co.jp)

>>39さん
何気なくpにしたりputsにしたりprintとしてみたり取り敢えず値がどれかに
まず入ってるのか程度でしか使ってなかったのでそれぞれの違いを理解する
様にがんばります。

41:デフォルトの名無しさん
13/06/15 16:31:46.11
>>40
その URL で試したけど div[class=st] では拾えない。空の NodeSet が返ってくる
div[class=st] で拾えることを確認したコードを貼ってくれないか

require 'nokogiri'
require 'open-uri'
url = "URLリンク(www.google.co.jp)
doc = Nokogiri::HTML(open(url))
divs = doc.css('div[class=st]')
spans = doc.css('span[class=st]')
p divs.class, divs
p spans.class, spans

42:デフォルトの名無しさん
13/06/15 21:50:44.74
>>38さん
すいません、ご報告があります。
# エラー:`block in <main>': undefined method `text' for nil:NilClass (NoMethodError)

> .text がエラーになるってことは nil に text でも呼んでるんじゃないの?
と言う事でメソッドが定義されてないというエラーメッセージが当初よく理解出来ていなかったのですが、
>>38さんからご指摘頂いた事でnilだとtextがundefined methodエラーになるって事か、、、

と考え今度>>39さんに言われたpで出力し試していった結果当初>>35さんから頂いた内容で
titleもdescも取得する事が出来てました。。。

只Rubyの公式リファレンスでArray箇所をずっと調べたりもしていたのですが配列の値をそもそも式で埋め、
更に.first等で繋ぎ取得させるというような記述例が見つけられず全く検討がついてませんでした。

絶対的な経験不足はあるのですが、何かもし他に今のレベルじゃここ読め!
みたいなのがあったら是非教えて頂けると幸いです。。。

43:前スレ943
13/06/15 21:54:21.10
>>29のコードを更新しました。
 URLリンク(play.island.ac)
 URLリンク(www.h6.dion.ne.jp) -- 自動生成ドキュメント
 URLリンク(www.h6.dion.ne.jp) -- UMLクラス図

今回の変更の目的は>>23の最後で書いた「クラスの継承」ですが、実際には前回の>>23ではコレクションを
実装するために継承を用いていました。ただし、これはありふれた継承パターンであり、しかもそれらのクラスは
属性を持たない単純な継承であったので、特に解説しません。今回は、残りのクラス群について検討します。

まず「継承(inheritance)」とは何か?にはいくつかの定義があり、その一つは「言語(Ruby)が提供する便利な仕掛けである」
という実践的な立場であり、もう一つは「クラスとは集合であり、継承とはクラス間の部分集合関係である」という
形式的な立場です。一般には前者で考える人が多いのですが、ここでは後者の定義を採用し、これに沿って検討を進めます。

クラスが集合であるとすれば、その集合の要素とは各クラスが持つ「属性(attribuute)」です。
>>29のコードの先頭付近にある「Grammar of Blog(ブログの文法)」というコメントから
コレクション関連のクラスを除いたものを以下に示します。
 <Blog> = "url" "title" "seq_counter_of_aticles" "seq_counter_of_photos" <Aticles> <Photos>.
 <Aticle> = "url" "title" "seq_num" "seq_conter_of_photos" <Photos>.
 <Photo> = "url" "seq_num".

(次レスへ続く ....)

44:前スレ943
13/06/15 21:56:12.45
(.... >>43 の続き)

ここで、この記述を「集合の外延的定義」とみなして各集合間の「交わり(intersection)」を考えると、
まず最初に属性 "url" を要素とする積集合が容易に発見できます。
 { "url" } = <Blog> ∩ <Aticle> ∩ <Photo>
これら積集合(等式の左辺)と三つの集合(同右辺)を部分集合とする全体集合を「ブログの構成要素(Component)」という
抽象的な概念で命名します。
 Component = { "url" } ∪ Blog ∪ Aticle ∪ Photo
 Blog = { "title", "seq_counter_of_aticles", "seq_counter_of_photos", <Aticles>, <Photos> }
 Aticle = { "title", "seq_num", "seq_counter_of_photos", <Photos> }
 Photo = { "seq_num" }
さらに他にも交わりがないか見ていくと、
 { "url" } ∪ { "title", "seq_counter_of_photos", <Photos> } = Blog ∩ Aticle および
 { "url" } ∪ { "seq_num" } = Aticle ∩ Photo という二通りの交わりを発見できますが、
ここでは共有できる属性数が多い前者を採用し、これを「ブログのコンテナ(Container)」という抽象的な概念で命名します。
 Component = { "url" } ∪ Container ∪ Photo
 Container = { "title", "seq_counter_of_photos", <Photos> } ∪ Blog ∪ Aticle
 Blog = { "seq_counter_of_aticles", <Aticles> }
 Aticle = { "seq_num" }
 Photo = { "seq_num" }

(次レスへ続く ....)

45:前スレ943
13/06/15 21:56:57.89
(.... >>43 の続き、これで終わり)

これら集合間には、以下に示す「互いに交わりのない部分集合(nested set)」関係が存在します。
 Component ⊃ Container, Component Photo ⊃, Container ⊃ Blog, Container ⊃ Aticle
 URLリンク(www.h6.dion.ne.jp)
最後に先頭の継承の定義で述べた「継承 = 部分集合関係」に従って各集合をクラスへ置き換えると、継承階層が完成します。

前回(>>29)と比較すると各クラスの定義が簡潔になり、クラスの責任分担がより明確になったのではないでしょうか?
長々とカキコ連投を続けてきましたが、質問等の反応が無ければこれで終了です。スレ汚し失礼しました。

46:デフォルトの名無しさん
13/06/15 22:05:08.57
>>42
>何かもし他に今のレベルじゃここ読め!

URLリンク(doc.ruby-lang.org)

47:デフォルトの名無しさん
13/06/15 22:29:56.70
>>41さん

ありがとうございました。前回確かにspanでエラー出ておりdivにして確認出来たのに、仰る通り
今nilです。色々コード書き換えてる間にどさくさに紛れて出ていたのを勘違いしていたかもしれません。
そこで思い出して書いたところ以下で取得出来てたので途中でこんな事してしまっていた可能性が高いです。

arr_title = q_results.xpath('//li[@class="g"]//h3[@class="r"]').map do |node|
node.xpath('//div[@class="st"]')
node.text
end
p arr_title

結果的にこれだと 処理内で p node.text 等して処理中に出力しない限り、検索結果全部掘りきれずに
どうやってtitle desc 出力された結果をそれぞれ結合してやればいいんだろうなと悩んでいたのを思い出しました…!
そこで一度hashの形にしてみたいなやり方を試したいた経緯がありました。

48:デフォルトの名無しさん
13/06/15 22:31:44.36
>>46
おぉぉ有り難う御座います!今まで見た事ありませんでした。
早速熟読したいと思います。

49:デフォルトの名無しさん
13/06/15 22:39:43.96
>>45
おつかれさまでした ありがとうございました
>>45さんのものより随分ちんけな形で完成したので、参考にしてグレードアップさせたいと思います
ありがとうございました

50:前スレ943
13/06/17 00:15:03.99
>>49
時間はかかるかもしれませんが、自分のペースで理解を進めていってください。
直感的なプログラミングを否定しているわけではなく、理屈と実践を反復することが大切です。
最後に、別スレへカキコした内容をコピペして終わります。がんばってくださいね。

> 235 名前: デフォルトの名無しさん Mail: sage 投稿日: 2010/09/22(水) 01:12:40
> >>232
> それでいいんじゃないかと。自分はF#は使ってないから一般論になってしまうけど、
> 理屈先行型の頭でっかちもダメだし、結果的に動くプログラミングしかできないのもダメ。
> 関数型言語の勉強という理屈とプログラミングという実践を繰り返し続けること、
> 言い換えると「抽象化(理屈) <-> 具体化(実践)」の反復プロセスが大切だと思う。
>
> その全体像は螺旋階段(スパイラル構造)のようであり、成長度の傾きはごく緩やかで、
> 暗闇の中で階段を一歩一歩上ることは焦りや不安が常につきまとうものだけど、
> ある時、ふと下界を眺めてみると、過去の自分が別人のように見えることに気付く。
> 自分の経験になるけど、新しいパラダイムの勉強と成長とは、そんなものだと思う。

51:デフォルトの名無しさん
13/06/19 18:43:12.21
p の出力をファイルにリダイレクトすると動きが遅くなってしまいます。
何故なのでしょうか? Windows7 32bitでRubyInstaller最新版です。

再現方法
1) 以下をファイルtest.rbに保存する。
100.times do p 'ABC' end
2) コマンドプロンプトを起動して実行する。
> ruby test.rb
===> 一瞬で終わる
> ruby test.rb > tmp.txt
===> なかなか終わらない
> ruby -e "100.times do p 'ABC' end" > tmp.txt
===> 一瞬で終わる

52:デフォルトの名無しさん
13/06/19 19:57:28.14
またsync案件か
コマンドプロンプトは不安定っすなー

53:デフォルトの名無しさん
13/06/20 21:46:10.28
rubyでゲーム開発勉強してるんですけど移動のさせ方などの情報はのっていてもスクロールとかそういう詳しいところを解説してくれてるサイトが見つかりません 書籍とかならそういうのが書いてる奴があるのでしょうか
おすすめのサイトなり勉強法があったら教えてください
今使ってるライブラリはDXrubyですがそれ以外でも大丈夫です
ruby自体はある程度勉強しました

54:デフォルトの名無しさん
13/06/20 22:21:16.40
>>53
URLリンク(www.google.co.jp)スクロール

55:デフォルトの名無しさん
13/06/20 22:21:49.20
オリジナルの××システムで○○と書くところをRubyの××接続ライブラリではRubyを交えて△△と書く

という手順を経るので、元の××システムの勉強が必要
元の××システムを知らなくても××接続ライブラリが使えるということはぜんぜんない
DXRubyの場合はDirectXとWindowsAPIだね

56:デフォルトの名無しさん
13/06/21 14:08:18.59
54さん
回答ありがとうございます
スクロールというのは一例でそういうのがまとまって乗ってるサイトが知りたかったんです
言葉が足りなくてすいません
55さん
とういうことは初めてゲームプログラミングをするならrubydxを学ぶよりdirectxとかを先に学んだ方がいいってことでしょうか

57:デフォルトの名無しさん
13/06/23 16:30:39.11
さくらのレンタルサーバーでTwitterBotを作ろうとして
URLリンク(d.hatena.ne.jp)
上記のサイトを参考にして環境を構築したところ、テストで直接実行して投稿時に
http.rb:799:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Twitter::Error::ClientError)のようなエラーがでました
解決作はCA証明書をどうにかするらしいですがさくらサーバーでの具体的な解決策は
わかりませんでした どなたかご教授頂けないでしょうか

58:デフォルトの名無しさん
13/06/23 17:16:06.32
認証が可能なルート証明書を探してきて(curlあたりが持ってるんじゃね?)、
Net::HTTP#ca_file = に設定する。

間違っても verify_mode = OpenSSL::SSL::VERIFY_NONE になんてしないように。

59:デフォルトの名無しさん
13/06/24 00:29:12.38
ruby初心者です。
コマンドで実行する時にruby a.rb 1とか指定すると1という値が渡せますが
例えば'あああああ[ここ]あああああ'の[ここ]の部分に代入することはできますか?
※置換ということではないです

60:デフォルトの名無しさん
13/06/24 00:59:35.18
コマンドライン引数は ARGV で取れるから
式展開で "あああああ[#{ARGV[0]}]あああああ"
ARGV[0] に a.rb でなく 1 が入るのと展開するときはダブルクォートを使うのに注意

61:デフォルトの名無しさん
13/06/24 01:09:50.70
>>60
ありがとおあああああああああああああああ

62:デフォルトの名無しさん
13/06/25 09:06:26.48
質問です。
「珉」という文字をCP932からEUC-JPに変換したいのですが、うまくいきません。
この文字はEUC-JPでは「0xFB 0xA6」ですが、変換すると「0x8F 0xCB 0xEA」になってしまいます。

変換に使用しているソースコードは下記の通りです。
使用しているバージョンは1.9.3と2.0.0です。

#coding: cp932
p "珉".encode("euc-jp").bytes.map{|i| "%02x" % i} #=> ["8f", "cb", "ea"] (異常)
p "山".encode("euc-jp").bytes.map{|i| "%02x" % i} #=> ["bb", "b3"] (正常)

よろしくおねがいします。

63:デフォルトの名無しさん
13/06/25 09:13:38.20
自己解決できそうです。
EUC-JPの文字符号化方式には、「CP51932」と「eucJP-ms」というのがあって、
「珉」は前者では「0xFB 0xA6」、後者では「0x8F 0xCB 0xEA」になるみたいです。

Windowsでは前者を使用しているみたいですが、
Rubyでは後者に変換してくれちゃってるみたいです。

うーん。面倒くさい・・・
ありがとうございました。

64:デフォルトの名無しさん
13/06/25 21:36:56.70
バグの可能性もあるから報告してみたら?

65:63
13/06/26 19:37:10.32
encodeメソッドに「CP51932」を指定できました。
ふええ・・・別の方法で対処した後に知ったよう・・・

#coding: cp932
str = "珉"
p str.encode("cp51932") #=> "\x{FBA6}"
p str.encode("eucJP-ms") #=> "\x{8FCBEA}"
p str.encode("euc-jp") #=> "\x{8FCBEA}"

66:デフォルトの名無しさん
13/06/28 11:23:21.08
uyなんですけど
ruby2.0でmechanizeが上手く入らないんですけど

67:デフォルトの名無しさん
13/06/28 11:56:28.95
nokogiriもダメなんですけど

68:デフォルトの名無しさん
13/06/28 12:05:46.79
rubyもまだまだですね

69:デフォルトの名無しさん
13/07/07 00:23:04.13
String#encodeってんなバイト列しらんだの変換できんだの文句たれてまともに変換できなくね?
結局NKFつかってる。

70:デフォルトの名無しさん
13/07/08 11:52:53.51
日本語を含みうる文字に関しては変換はほぼ妥当にできる
ただし、変換元のバイト列のエンコーディングと変換先のエンコーディングに関して大雑把にでも理解指定できているということが大前提
申告に虚偽があっても勝手に不可逆変換して情報を取り戻せなくなるNKFなんかよりはよっぽど誠実

ただしとても使い辛い
想像や無知で申告されたエンコーディング名をそのまま使うとほぼ確実に変換失敗する(HTMLのmeta charset名とか、「○○だから××だろう」とか)
これは「世の中が悪い」んではあるんだけども
まあエラーで止まってくれるんだったらその情報を頼りにエラー回復処理すればいいじゃん

71:デフォルトの名無しさん
13/07/08 12:10:05.19
pythonいいよね
自分はpythonの文字列処理のたびに例外に面食らったが
この板で馬鹿には無理と言われて勉強し直して覚醒したよ

>>70 の言うように勝手に暗黙の変換してデータ壊すより
エラーで止まってくれた方がよほど誠実だと納得した

72:デフォルトの名無しさん
13/07/08 12:12:24.98
は?

73:デフォルトの名無しさん
13/07/11 00:32:26.60
Ruby1.9 でsqlite3 を叩いているのですが、

ソースをutf8で書いていて、varchar型ににASCIIデータをを格納しようとしたところ、
ascii-8bit扱いになって実態参照でDBに格納されるので、encode("ascii")の連呼になってしまい。。

74:デフォルトの名無しさん
13/07/11 01:24:26.89
BLOBになる話かと思ったら違った
SQLite3にはvarcharなんて気の利いたものはないぞ、拒否らないだけで

sqlite3-rubyは返されるデータオブジェクトにエンコーディングを設定しない
設定しないってことはBINARY、Rubyで言うところのASCII-8BITだ
エンコーディング情報のない文字列にエンコーディングを設定するのは道理

75:デフォルトの名無しさん
13/07/11 01:27:06.76
unkonown仕様文字列

76:デフォルトの名無しさん
13/07/11 01:35:20.05
勝手にUTF-8とかで返すと海外の人が怒るからこうなってるという説

77:デフォルトの名無しさん
13/07/11 02:47:32.08
db open時の引数にcharset=が指定できるとありがたく。。

78:デフォルトの名無しさん
13/07/11 08:34:33.20
ところでこの場合 encode(バイト列を変換する) ではなく
force_encoding(エンコーディング情報だけ付け替え) ではないかい?

79:デフォルトの名無しさん
13/07/11 16:39:43.79
rubygems はしょうもないライブラリを登録しても怒られませんか?

80:デフォルトの名無しさん
13/07/11 17:02:34.69
特等席な名前でなければ気にされることはないと思う

81:デフォルトの名無しさん
13/07/11 17:29:38.49
特等席ネームかどうかなんて個人の主観だろ
だれも目をつけてない名前で登録して
あとからそれだめって言われてもな

82:デフォルトの名無しさん
13/07/12 11:46:07.90
たとえば "db" とか、どう見ても、って感じの名前はあるだろ

83:デフォルトの名無しさん
13/07/13 01:59:06.02
ruby-helloworld

84:79
13/07/13 13:28:20.40
ありがとうございます。
特別な名前でもないので思い切って登録してみます。

85:デフォルトの名無しさん
13/07/13 14:31:13.67
宝石がまたひとつ増えた

86:デフォルトの名無しさん
13/07/16 00:26:20.97
Tkのスレで聞いた方がいいかも知れないけど、
フレームをdestroyする時パックされてるボタンも一緒にdestroyされますか?

何か残骸みたいのが残ってたら気持ち悪いので

87:デフォルトの名無しさん
13/07/17 16:50:43.33
自力で解決できず行き詰っています。
どこが悪くてどうすればいいのか、どうか教えて下さい。

プログラムの目的:ニコニコ動画にログインする。
OS:Windows7
Ruby2.0.0を使っています。
(続きます)

88:デフォルトの名無しさん
13/07/17 19:41:35.84
(続き)
require 'mechanize'

agent = Mechanize.new

url = 'ニコニコ動画のURL'
page = agent.get(url)

next_page = page.link_with(:text => 'login').click

next_page = page.form_with(:name => 'mail' 'password') do |form|
form.mail = "自分のメールアドレス"
form.password =自分の設定したパスワード
end.submit

これに出たエラー↓
ファイル名:8:in `<main>': undefined method `click' for nil:NilClass (NoMethodError)

89:デフォルトの名無しさん
13/07/17 20:00:08.33
Mechanize 知らないのだけど page.link_with(:text => 'Login') だったりして

90:デフォルトの名無しさん
13/07/17 20:27:21.73
require 'mechanize'
mech = Mechanize.new
mech.user_agent_alias = 'Windows IE 7'
mech.ssl_version = 'SSLv3'

login = mech.get("URLリンク(www.nicovideo.jp)).forms[0]
login['mail'] = @mail
login['password'] = @password
login.submit

あれ? cant_loginになるな

91:87
13/07/17 20:28:30.01
>89 'Login'にしてみたらまた違うエラーになってしまいました・・・
エラーメッセージが長くてここに書けなそうです

92:87
13/07/17 20:32:19.74
>90 私も試してみましたが、また長いエラーメッセージが出ちゃいました

93:デフォルトの名無しさん
13/07/17 21:56:36.03
とりあえず、 >>88 の link_with(:text => 'login') はサンプルか何かの丸コピーで、
意味を把握してない疑いが…

標的となるフォームの構造は

<dt><label for="mail">ログインメールアドレス/電話番号</label></dt>
<dd><input id="mail" name="mail_tel" type="text" class="txt"></dd>

だからな。

94:87
13/07/17 22:22:58.68
>93ここを参考にしました
ownway.info/Ruby/index.php?mechanize%2Fabout

95:デフォルトの名無しさん
13/07/17 22:30:45.31
こんなんでいける? >>90 を参考にさせてもらいました

require 'mechanize'

ua = Mechanize.new do |mech|
  mech.user_agent_alias = 'Windows IE 7'
  mech.ssl_version = 'SSLv3'
end

homepage = ua.get("URLリンク(www.nicovideo.jp))
loginpage = homepage.link_with(:text => "Login").click
loginpage.form_with(:action => "URLリンク(secure.nicovideo.jp)) do |form|
  form["mail_tel"] = MYMAILADDR
  form["password"] = MYPASSWD
end.submit
# p ua.page

96:87
13/07/17 23:02:50.24
>95 また長いエラーメッセージが出ちゃいました

97:デフォルトの名無しさん
13/07/17 23:18:16.24
>>96
なんてエラーメッセージ?
個人情報伏せたうえで pastebin とかに貼ってもいいよ

98:87
13/07/17 23:47:25.61
エラーメッセージはこれです。
C:/Ruby200/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect returned=1 e
rrno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL
::SSL::SSLError)
(続きます)

99:87
13/07/17 23:51:34.63
(続き)
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:918:in `block in connect'
from C:/Ruby200/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:918:in `connect'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
from C:/Ruby200/lib/ruby/2.0.0/net/http.rb:857:in `start'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-http-persistent-2.8/lib/net
/http/persistent.rb:628:in `start'
(続きます)

100:デフォルトの名無しさん
13/07/17 23:59:09.53
>>98
Windows だとうまくいかないんだって
URLリンク(rubydoc.info)

よくわかんなかったら 証明書 mechanize windows でぐぐって

101:87
13/07/18 00:03:22.24
(続き)
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-http-persistent-2.8/lib/net
/http/persistent.rb:570:in `connection_for'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-http-persistent-2.8/lib/net
/http/persistent.rb:926:in `request'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mechanize-2.7.1/lib/mechanize/h
ttp/agent.rb:257:in `fetch'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mechanize-2.7.1/lib/mechanize/h
ttp/agent.rb:974:in `response_redirect'

102:87
13/07/18 00:08:48.62
(続き)
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mechanize-2.7.1/lib/mechanize/h
ttp/agent.rb:298:in `fetch'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mechanize-2.7.1/lib/mechanize.r
b:431:in `get'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mechanize-2.7.1/lib/mechanize.r
b:330:in `click'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/mechanize-2.7.1/lib/mechanize/p
age/link.rb:30:in `click'
from ファイル名.rb:9:in `<main>'
(終わりです)

103:87
13/07/18 00:24:14.51
>>100 ありがとうございます。今度はエラーが出ませんでした!
エラーが出なかったということは、成功で良いのですよね?
確認する方法が分からないので少し不安ではありますが

104:デフォルトの名無しさん
13/07/18 07:06:02.53
サイト構造(HTML的な意味も含めて)を理解してないと辛い
いわゆるモダンブラウザが自動でやってる手順の多くを手動で書かないといけないからね

で、今なにやってるかというと、サイト利用のためにログイン済みクッキーが必要なので、
ログインページでログインしてMechanizeにクッキーを持たせてるんだ
Mechanizeオブジェクト(の、中)にクッキーが書き込まれてるので、そのままトップページや動画を読み込んでみればいい
たとえばトップページならユーザー名がHTMLに埋め込まれて送られてきているはず
ログイン失敗ならそのようなHTMLが送られてきているはず

余談だけどクッキーを外部保存して再利用することはニコ動ではおすすめできない(他のサイトでは可能)
これはサイト側の制限で、こちらではどうしようもない

105:デフォルトの名無しさん
13/07/18 10:02:07.58
そうだぬ
二重管理だと看做されると
強制ログアウトさせられるぬ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch