Perl で google trendsに自動ログインするコードを書きたいのですがうまく行きません。

CPANモジュールにもそれらしいのはみあたらず...
google trendsにアクセスし、検索を行い、結果出力される
CSVファイルをダウンロードするコードを作りたいと思っています。
- http://www.google.com/trends?q=aaa


下記みたいなイメージだと思っているのですが...

どなたか助けて頂けませんでしょうか...
---------------------------------------
use strict;
use warnings;
use Data::Dumper;
use DBI;
use WWW::Mechanize;

# Google Login
my $url = "https://www.google.com/accounts/ServiceLoginAuth";
my $username = 'uenoyama718@gmail.com';
my $password = 'hakusan';

my $mech3 = WWW::Mechanize->new();
$mech3->cookie_jar(HTTP::Cookies->new());
$mech3->get($url);
$mech3->form_number(1);
$mech3->field(Email => $username);
$mech3->field(Passwd => $password);
$mech3->click();
:


以下は参考
# get csv file
my @companis = ...
foreach my $company (@companies) {
my $url2 = 'http://www.google.com/trends/viz?q=' . $company . '&graph=all_csv&sa=N';
$mech2->get($url2);

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/12/21 18:15:45
  • 終了:2010/12/28 18:20:04

回答(2件)

id:rabienrose No.1

らんさいわ回答回数29ベストアンサー獲得回数02010/12/21 22:48:13

ポイント60pt

http://e8y.net/mag/007-www-mechanize/

エラー内容がわからないのでアレですが…

必要なモジュールは全部入ってる前提でのお話になります。


$mech3->form_number(1);

$mech3->field(Email => $username);

$mech3->field(Passwd => $password);

$mech3->click();

この部分を

$mech3->submit_form(

fields => {

Email => 'example@gmail.com',

Passwd => 'example',

},

);

な感じでどうでしょうか…ログイン画面にはフォームが一つしかないので、

submit_formでさっくりいけると思うのですが…

もしフォームが見つからないというエラーの場合には

form_id => 'gaia_loginform',やform_number=> 1

等の要素をsubmit_formに足してあげてみると上手くいくかもしれません。

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 らんさいわ 29 23 0 2010-12-22 10:31:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません