• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlからアマゾンにアクセスできない><)

Perlでアマゾンへのアクセスができない!

tamahiro22の回答

回答No.7

こちらでは、示されたASINで取得できるので、 何かコードが不完全なのかもしれません。 他にも考えられることは色々とありますが、 ひとまず、以下のURLからスクリプトをコピーして、 実行できるか確認いただけますか。 http://syu-king.com/~kodomo/sources/used_report.pl.txt

yoroshikumail
質問者

お礼

tamahiro22さまご回答ありがとうございます。 アップまでして頂いて本当にご迷惑をおかけしてすみません。 感謝しております。 スクリプトをコピーさせて頂いて実行したのですが、 実行できず、次のような出力がされました。 >used_report.pl 4915512371 Could not retrieve http://www.amazon.co.jp/exec/obidos/tg/stores/offering/list/- /4915512371/used/ at C:\hoehoe\last_used_report.pl line 12. またしてもアクセスできないみたいです、なぜでしょう? 原因は特定できるのでしょうか?(((;へ;)))

yoroshikumail
質問者

補足

メッセージにlastと入ってしまいましたが、すみません。正しくは >used_report.pl 4915512371 Could not retrieve ​http://www.amazon.co.jp/exec/obidos/tg/stores/offering/list/-​ /4915512371/used/ at C:\hoehoe\used_report.pl line 12. です!

関連するQ&A

  • perl内のhtml文を、ループさせたいのですが、これってできないんでしょうか?

    たびたび申し訳ありません。周りに聞く人もいなく、まったくの初心者ですので、なにとぞお願いいたします。 下記の「ここから~ここまで」の$iの値を変えながらループさせたいのですが、まったくうまくいきません。なにかいい方法あったら教えてください。 それとも、こんな書き方じゃダメなんでしょうか? #!/user/bin/perl open(IN,"data.csv"); #flock IN,2; @line = <IN>; #flock IN,8; close(IN); $cnt = 0; foreach(@line){ ($sina[$cnt],$jpg[$cnt],$pr[$cnt],$kakaku[$cnt]) = split(/\,/,$_); $cnt++; } print<<"EOF"; Content-type: text/html <HTML> <HEAD> <TITLE>やぁ!</TITLE> </HEAD> <BODY> EOF ###################ここから print<<"EOF"; <TABLE border="1"> <COL span="4" width="100"> <TBODY> <TR> <TD width="300">$sina[$i]</TD> <TD width="300">$jpg[$i]</TD> <TD width="300">$pr[$i]</TD> <TD width="300">$kakaku[$i]</TD> </TR> </TBODY> </TABLE> EOF ##################ここまで print<<"EOF"; </BODY> </HTML> EOF

    • ベストアンサー
    • CGI
  • perl 5.8.8 日本語マッチ

    perl5.8.8を使っています。 日本語にマッチする正規表現を書きたいのですが、どうしてもマッチしません。 例えば、以下のファイルtest.txtから「さしすせそ」だけを抽出し、表示させたいです。 ---------test.txt-------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- ----------test.pl-------------------------------- use strict; use warnings; open(FILE, 'test.txt') or die "$!"; my @file = <FILE>; close(FILE); foreach my $line (@file){ if($line =~ /^さ/){ print "$line\n"; } } ------------------------------------------------ このtest.plを実行しても「さしすせそ」を抽出することが できません。 どうしたらよいのでしょうか? 自宅の新しいバージョンのperlだとできるのですが 会社のperlは5.8.8で顧客環境でもあるのでバージョンアップも できません。 すみませんが、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • MeCab(和布蕪)をPerlで使うには

    MeCabをPerlから使おうと思い、MeCab本体であるmecab-0.93.exeと mecab-perl-0.93.tar.gzをダウンロードしました。 mecab-perl-0.93ディレクトリにあるtest.plをWindowsのコマンドプロンプトにて実行してみたのですが、エラーがでてしまいます。プログラムとエラーは以下の通りです。どういったエラーなのか良く分かりません。アドバイスお願いします。 <プログラム> #!c:/perl/bin/perl use lib $ENV{PWD} . "/blib/lib"; use lib $ENV{PWD} . "/blib/arch"; use MeCab; print $MeCab::VERSION, "\n"; my $sentence = "太郎はこの本を二郎を見た女性に渡した。"; my $c = new MeCab::Tagger (join " ", @ARGV); print $c->parse($sentence); for (my $m = $c->parseToNode ($sentence); $m; $m = $m->{next}) { printf ("%s\t%s\n", $m->{surface}, $m->{feature}); } <エラー内容> % test.pl Can't locate loadable object for module MeCab in @INC (@INC contains: /blib/arch /blib/lib C:/Perl/lib C:/Perl/site/lib .) at MeCab.pm line 8 Compilation failed in require at C:\Program Files\MeCab\mecab-perl-0.93\test.pl line5 BEGIN failes--compilation aborted at C:\Program Files\MeCab\mecab-perl-0.93\test.pl line5 以上です。

  • <Perl>参照配列の出力に失敗する。

    <Perl>参照配列の出力に失敗する。 お世話になります。 配列の出力部で以下のエラーが出力されます。 Use of uninitialized value in print at test2.pl line 12. -----コーディングは以下の通りです。----- #!C:\perl use strict; use warnings; my @l = (); #----------- #GetDataへCSVファイル名と、格納用配列を渡す #----------- my $cnt = &GetData("test.csv", \@l); print "COUNT -> ".$cnt; for(my $i=0; $i < $cnt; $i++){ print $l[$i]; } ################################################################## # 概   要:指定したCSVファイルをオープンしCSVデータを配列に取得する。 # パラメータ:ファイル名, CSVデータ格納用配列 # 戻 り 値:データ取得件数 ################################################################## sub GetData { my ($f, @bf) = @_; my $rcnt = 0; print "FILE NAME -> ".$f."\n"; if ( open(FP, "<${f}") ){ print "FILE OPEN -> success.\n"; @bf = split(/,/, <FP>); close(FP); $rcnt = @bf; print "CSV GET COUNT -> ".$rcnt."\n"; } return $rcnt; } -----実行結果は以下の通りです。----- D:\>perl test.pl FILE NAME -> test.csv FILE OPEN -> success. CSV GET COUNT -> 5 Use of uninitialized value in print at test2.pl line 12. Use of uninitialized value in print at test2.pl line 12. Use of uninitialized value in print at test2.pl line 12. Use of uninitialized value in print at test2.pl line 12. COUNT -> 5 -----CSVファイルの内容は以下の通りです。(ファイル名:test.csv)----- あいうえお,かきくけこ,さしすせそ,たちつてと,なにぬねの 配列の要素数が取れているので、配列内にデータは格納されているとは思っています。 出力方法をどのように正せばよいがご教示お願い致します。

    • ベストアンサー
    • Perl
  • perl jcode::convert 半角>全角

    perlでjcode::convertで 半角を全角に変換すると 正しく変換される時とされない時があります。 例えば、 sample1.plとsample2.plの my $message = 'の次の「ハンカク」の4文字は半角の文字です。 (注)ここにアップロードすると全角で表示されてしまいます。   この4文字を半角にして確認してください。 sample1.plではこの4文字が全角に変換されるのですが sample2.plではこの4文字は半角のままです。 なぜ全角に変換されないのでしょうか。 (Windows7, ActivePerl v5.16.3) ---sample1.pl------------ require "jcode.pl"; my $message = 'ハンカク文字は使えるかな?'; jcode::convert(\$message,"sjis","", "z"); print "$message\n"; --------------- ---sample2.pl------------ require "jcode.pl"; my $message = 'ハンカク文字'; jcode::convert(\$message,"sjis","", "z"); print "$message\n"; --------------- なお、どちらも以下のようなメッセージが表示されています。 これは何を意味しているのでしょうか。 defined(%hash) is deprecated at C:/Perl64/site/lib/jcode.pl line 684. (Maybe you should just omit the defined()?) defined(%hash) is deprecated at C:/Perl64/site/lib/jcode.pl line 693. (Maybe you should just omit the defined()?)

    • ベストアンサー
    • Perl
  • perlの構文について、読み方を教えて下さい。(1)

    はじめまして、perl初心者です。基礎を勉強した段階ですが1人でやっていてわからない文章に行き当たりました。どうしてもわからないのでどうか先輩の皆さまにお教え頂きたくお願い申し上げます。いくつかあるので今後もどうか愛想をつかさずに御付合い下さい。では、以下に理解の出来ない文章を書きます。 if($tag eq "meta"and $attr->{"http-equiv"}eq "refresh"){ my ($delay,$url)=split";URL=",$attr->{content},2; $attr->{content}="$delay;URL=".$self->encode($url); ●my @attribs=map{"$_=\"$attr->{$_}\""}@$attrseq; $new_text="<$tag @attribs>";} ●の行が特にわかりません。$_は何を指すのでしょうか、$attrseq->@の要素になるのですか?$_を書くのはどうしてなのか教えて下さい。全行の解釈も書いて下さい。それと入力する時に\の半角のがキーボードで出ないのですがどうやったらよいのでしょうか。宜しくお願いします。

    • ベストアンサー
    • Perl
  • perlでhtmlファイルを取得したいのですが

    perlでmixiなどログイン処理のあるサイトのhtmlファイルを取得したいのですがなかなか上手くいきません。 どなたかご教授をお願いします。 ----------------------------------------------------------------- #!/usr/bin/perl use LWP::UserAgent; use HTTP::Cookies; use HTTP::Request::Common; use LWP::Simple; my $mixi_email = 'メールアドレス@yahoo.co.jp'; my $mixi_password = 'パスワード'; my $login_url = 'http://mixi.jp/login.pl'; my $home_url = 'http://mixi.jp/home.pl'; my $mixi = LWP::UserAgent->new($mixi_email, $mixi_password); #Cookieを有効にする# my $cookie = sprintf('cookie_%s_%s.txt', $$, time); my $cookie_jar = HTTP::Cookies->new(file => $cookie, ignore_discard => 1); $mixi->cookie_jar($cookie_jar); #ログインする# my @form = ('email' => $mixi_email, 'password' => $mixi_password, 'next_url' => $home_url);#POSTで送る内容の配列 my $request1 = &HTTP::Request::Common::POST($login_url, [@form]); #リクエストヘッダの生成 my $response1 = $mixi->request($request1); #ログインする getstore("http://mixi.jp/search_community.pl?from=global(取得先の指定)", "test.html"); ---------------------------------------------------------------------- 試しに書いてみたのですがうまくいきませんでした

  • PerlでのCSV書き込みについて質問です。

    perl初心者です。 perlで投票のプログラミングを作ってるのですが、 どうもうまく動きません。 やりたいことは ・投票されたら  1)csvを読み込む  2)該当するNOのカウントをアップ  3)csvに書き込む という単純なことなのですが、 投票してもカウンタは0のままになってしまいます。 書き込み部分のプログラムが間違っているとは思うのですが 何が間違っているのかがどうしてもわかりません。 どなたかお知恵を貸してくださいm(__)m プログラムは下記のようになっています。 ================= foreach my $key (@key) { $val = $in{$key}; $in{$key} = &Jcode::convert(\$val, 'sjis'); } # データオープン open(DAT,"+< $datfile"); flock(DAT, 2); my @data; while (<DAT>) { push(@data,$_); if (eof) { last; } } # データ書き込み truncate(DAT, 0); seek(DAT, 0, 0); my $i=1 while (i<11){ my ($no,$name,$count) = split(/,/, $data[$i]); if($val eq $no){$count++;} if (eof) { last; } $i++; print DAT "$no,$name,$count,\n"; } close(DAT); ================= どうぞよろしくお願いします。

    • ベストアンサー
    • Perl
  • perl print文で日本語表示するには

    perlのプログラムで use utf8が宣言されていない時(test1.pl)は、 print文で日本語が正しく表示されるのですが、 use utf8が宣言されている時(test2.pl)は、 print文で日本語が正しく表示されないかエラーになります。 encode('utf-8', $string)やencode('cp932', $string) も試してみましたがうまくいきませんでした。 どのようにすればよいでしょうか。 ---test1.pl------------------------------------------------ #!C:/perl/bin/perl use strict; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; $mon += 1; my $string="$year年$mon月$mday日 $hour時$min分$sec秒\n"; print $string; ----------------------------------------------------------- 実行結果 OK 2018年12月26日 9時36分6秒 ----------------------------------------------------------- ---test2.pl------------------------------------------------ #!C:/perl/bin/perl use strict; use utf8; use Encode; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; $mon += 1; my $string="$year年$mon月$mday日 $hour時$min分$sec秒\n"; print $string; #print encode('utf-8', $string); #print encode('cp932', $string); --------------------------------------------------- 実行結果 NG (PC1 Windows7 ActivePerl) Wide character in print at D:\test\test2.pl line 11. Global symbol "$year年" requires explicit package name (did you forget to declare "my $year年"?) at D:\test\test2.pl line 8. Global symbol "$mon月" requires explicit package name (did you forget to declare "my $mon月"?) at D:\test\test2.pl line 8. Global symbol "$mday日" requires explicit package name (did you forget to declare "my $mday日"?) at D:\test\test2.pl line 8. Global symbol "$hour時" requires explicit package name (did you forget to declare "my $hour時"?) at D:\test\test2.pl line 8. Global symbol "$min分" requires explicit package name (did you forget to declare "my $min分"?) at D:\test\test2.pl line 8. Global symbol "$sec秒" requires explicit package name (did you forget to declare "my $sec秒"?) at D:\test\test2.pl line 8. Execution of D:\test\test2.pl aborted due to compilation errors. ----------------------------------------------------- 実行結果 NG (PC2 Windows7 ActivePerl) Malformed UTF-8 character (unexpected continuation byte 0x94, with no precedingstart byte) at C:\test\test2.pl line 8. (略) Malformed UTF-8 character (unexpected continuation byte 0x95, with no precedingstart byte) at C:\test\test2.pl line 8. 2018 N12 26 9 5 4 b ----------------------------------------------------- 期待している実行結果 2018年12月26日 9時36分6秒 ----------------------------------------------------- よろしくお願いします。

    • ベストアンサー
    • Perl
  • Perl:Unicodeプロパティ作れない

    お世話になります。 Unicodeの文字プロパティの使い方を学ぶために、以下のようなスクリプトをUTF-8で保存しました。 ============ #! /bin/perl # # utf8_unireg.pl use 5.010; use strict; use warnings; use utf8; binmode STDOUT, ":encoding(shift_jis)"; my $str = "a:b:c:"; say join "|", ($str =~ /\p{ASCII}/g); say join "|", ($str =~ /\p{AsciiAlpha}/g); sub AsciiAlpha { return <<END; 0041 005A # A-Z 0061 007A # a-z END } ============ 実行するとこうなります。 ============ C:\Perl\perl>utf8_unireg2.pl a|:|b|:|c|: Can't find Unicode property definition "AsciiAlpha" at C:\Perl\perl\utf8_unireg2.pl line 14. ============ \p{AsciiAlpha}というプロパティの作成に失敗しているようです。。 なぜか分かりますでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl