さくらサーバへのWeb::Scraper(perlモジュール)のインストール方法

このQ&Aのポイント
  • さくらサーバ(スタンダード)でWeb::Scraper(perlモジュール)を使用する方法が分からない
  • 参考にしたサイトを見て、モジュールをインストールしたが、指定のパスにはモジュールが存在しない
  • 他のサイトを調べたが、同様のパス指定がされている
回答を見る
  • ベストアンサー

さくらサーバ(スタンダード)への Web::Scraper(perl

さくらサーバ(スタンダード)への Web::Scraper(perl モジュール) インストール方法で悩んでます。 いつもお世話になってます。 Web::Scraperというperlモジュールをさくらのレンタルサーバで使用したいのですが、うまくいきません。 参考にしたのは以下のサイトです。 http://houei.sblo.jp/article/35173969.html 正確にはWeb::Scraperはインストールできましたが、以下の部分で止まってしまっています。 【use lib '/home/bashi/perl/lib/perl';】 上記はモジュールを使用するときの、パスの指定かと思うのですが、参考サイトの通り、cpanでWeb::Scraperをインストールしましたが、上記パスにはモジュール等 何もインストールされていません。 別途、設定などが必要なのでしょうか。 他サイトを色々と調べてはみたのですが、当然のように上記同様のパスにperlモジュールがあるような指定がされています。 自力では解決できず、ご質問させていただきました。 何かご教授いただけませんでしょうか。 宜しくお願い致します。

  • Perl
  • 回答数4
  • ありがとう数12

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

use lib '/home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/lib'; use lib '/home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/blib/lib'; use Web::Scraper; でもいけないでしょうか?いけないとしたらちゃんとインストールできてない可能性が高いです。 cpanmのほうが使いやすいとは思います。

dmg300
質問者

お礼

ご回答ありがとうございます。 ご指摘の方法でもできませんでした。 >いけないとしたらちゃんとインストールできてない可能性が高いです。 そんな感じがします。あらためてインストールを下記のURLを参考にしてみました。 http://d.hatena.ne.jp/perlcodesample/20090314/1236408791 動作確認をしたところ、動きました! toraneko75様には、私の的を得ていない質問にもかかわらず、ご丁寧に回答をしていただいて本当に感謝しています。本当にありがとうございました。

その他の回答 (3)

回答No.3

SSHでログインしてファイルを探してみてはいかがでしょうか? うまくインストールできていれば、 find /home/ユーザ名/ -name Scraper.pm -print で、/home/ユーザ名/***/Web/Scraper.pm  が見つかるはずです。 と見つかったら、use lib '/home/ユーザ名/***'と書き換えたらいいと思います。

dmg300
質問者

お礼

ご回答ありがとうございます。 ご指摘の通りやってみました。 ※ hogehogeは当方のユーザ名です。 %find /home/hogehoge/ -name Scraper.pm -print /home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/lib/Web/Scraper.pm /home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/blib/lib/Web/Scraper.pm テストでSSHからperl(Webscraper)を実行してみました。 --略-- use lib '/home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/lib/Web/Scraper.pm'; use lib '/home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/blib/lib/Web/Scraper.pm'; use Web::Scraper; --略-- できるかなと思ったのですが、下記のエラーがでました。 Can't locate Web/Scraper.pm in @INC (@INC contains: /home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/blib/lib/Web/ /home/hogehoge/.cpan/build/Web-Scraper-0.32-OmqxyL/lib/Web/ /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) うーん。。

回答No.2

>参考URLの通りにperlモジュールをインストールしたのですが、 >そのperlモジュールは一体どこにあるのか不明です。 あなたの指定したディレクトリ(インストールする際にどこにインストールするか訊かれたでしょ?)にインストールされている筈。 あなたが分からないということは、残念ながらもはや誰にも分からない。

回答No.1

>use lib '/home/bashi/perl/lib/perl'; この【 bashi 】の部分はユーザー名ですから、あなたのユーザー名に変更しないと当然そんなパスは存在しませんよ? 参考 URL にも記述がありますが、環境により perl 以下のディレクトリ構成が変わる場合もあるようなので、実際にモジュールが存在するディレクトリを確認してご自分の環境に見合ったパスにしてみましょう。

dmg300
質問者

補足

hujitomoさん ご回答ありがとうございます。 補足します。 【 bashi 】の部分は心得ております。すいません、省略してました。 use lib '/home/hoge/perl/lib/perl'; ですね。 参考URLの通りにperlモジュールをインストールしたのですが、 そのperlモジュールは一体どこにあるのか不明です。 もちろん上記のパスにはインストールされないので、別途設定などが必要なのでしょうか。 /home/hoge/.cpan/build/ には、モジュールがインストールできてます。(データ群がある) そもそも use lib '/home/hoge/perl/lib/perl'; には、モジュールのデータ群はなくて当然なのでしょうか・・。 見当はずれな質問かどうかも解りかねてまして、 申し訳ありません。 その辺りが多少解決できればと思ってます。

関連するQ&A

  • Web::Scraperはインストールしないで使えますか? または、簡単にWeb::Scraperを使えるレンタルサーバー知りませんか?

    今http://d.hatena.ne.jp/ragtarou/20080121のサイトを参考にしてレンタルサーバーにインストールを試みましたが、2日ねばってもエラーが解決できないので、とりあえずインストールするのはあきらめることにしました。 perlのモジュールにWWW::Mechanizeというのがあって、これについては、インストールしなくても、CGIのプログラムで呼び出すことによって使えることがわかりました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1680065 ここにやり方がのっています。 これと同じようなやりかたでWeb::Scraperを使うことはできるのでしょうか? また、Web::Scraperがはじめから導入されているレンタルサーバーなどご存知でしたら教えてください。

    • ベストアンサー
    • Perl
  • Perlのモジュールが極端に少ない

    OS(CentOS 6.2 / 64bit)にデフォルトでインストールされているPerl(version 5.10.1)を使って勉強しているのですが、参考書に記載されているメジャーなモジュールがインストールされてなく、困っています。 自分でインストールする必要があるのかと思い、モジュールのインストール方法を調べたところ、CPANというモジュールを使えば簡単にモジュールがインストールできると知ったのですが、このCPANモジュールも入っていない模様。 ではまずはCPANモジュールから手動でインストールしようかと思ったところ、CPANモジュールインストール時のMakefile.PLを実行すると、ExtUtilsというモジュールが無いと怒られてしまい実行できませんでした。 このような場合、通常よく使われるようなモジュールをまとめてインストールするような方法は無いのでしょうか。 ※ちなみに、@INCでは以下のディレクトリが登録されていました。 ・/usr/local/lib64/perl5 ・/usr/local/share/perl5 ・/usr/lib64/perl5/vender_perl ・/usr/share/perl5/vender_perl ・/usr/lib64/perl5 ・/usr/share/perl5

    • ベストアンサー
    • Perl
  • WWW::Mixi::Scraper

    はじめまして。Perl初心者です。 このたび、WWW::Mixi::Scraperを使ってみようと思い、 http://search.cpan.org/~ishigaki/WWW-Mixi-Scraper-0.11/lib/WWW/Mixi/Scraper/Mech.pm の、 SYNOPSISに書いてあるソースを実行してみたのですが、 Use of uninitialized value in concatenation (.) or string at [パス]/WWW/Mixi/Scraper/Mech.pm line 18. logged in to mixi at [パス]/WWW/Mixi/Scraper/Mech.pm line 44. Undefined subroutine &WWW::Mixi::Scraper::Mech::_uri called at [パス]/WWW/Mixi/Scraper/Mech.pm line 72. と、エラーが出てしまいました。 ちなみに、foo@~のところとpasswordには自分のmixiにログインするパスを入れています。 他に追記が必要なのかとも思いましたがまったくわかりません…。 どなたかご教授いただければ幸いです。

  • WEBアプリケーションの作り方について

    WEBアプリケーションを自分で作ってみたいと考えています。 とりあえずしてみたことは、簡単なCGIを作って、レンタルサーバーにそれをちょこっと置いてみました。動きました。 ただ調べていくとMVC構造がどうだとか、CPANからモジュールをインストールするとかいろいろでてきます。 レンタルサーバーにおくばあい場合、CPANからモジュールをインストールして、ローカルで動かせても、まったく意味ないのでは?とか思ったりしています。 そして、自分のところにあるデータベースにも繋がらないのではないでしょうか? どのようにしてするものなのでしょうか? よろしくおねがいします 。

    • ベストアンサー
    • Perl
  • PerlのWeb::Scraperと正規表現について教えてください。

    以下のスクリプトで困ってます。質問をスクリプトの下に書きましたので、よろしくお願いします。 #------------------------------------------------------------------ #!C:/strawberry/perl/bin/perl use strict; use Web::Scraper; use URI; use YAML; use encoding 'shiftjis'; my $stuff = URI->new("http://table.yahoo.co.jp/t?s=9503.t&a=5&b=13&c=2009&d=8&e=14&f=2009"); my $scraper = scraper { process "table table table tr td small", 'news[]' => { title1 => 'text' }; }; my $result = $scraper->scrape($stuff); print YAML::Dump $result; #------------------------------------------------------------------ 上記のPerlスクリプトでは、 --- news: - title1: 年 - title1: 月 - title1: 日 - title1: から - title1: までのデータ - title1: デイリー - title1: 週間 - title1: 月間 - title1: '銘柄コード: ' - title1: 2009年8月14日 - title1: '2,075' - title1: '2,090' - title1: '2,070' - title1: '2,080' - title1: '1,449,300' - title1: '2,080' - title1: 2009年8月13日 - title1: '2,090' - title1: '2,090' - title1: '2,080' - title1: '2,090' - title1: '1,137,900' - title1: '2,090' のような結果が出ます。 結果を以下のようにCSVで取り出したいのですが、ロジックをどのように変更すればよいでしょうか?  多分正規表現を使うんだと思うのですが、分かりません。 http://weblog.nqou.net/archives/20090301140728.html ↑このページも確認していろいろ試しましたが、上手くいきません。 ご指導よろしくお願いします。 こういう↓結果にしたいです。 2009年8月14日,2075,2090,2070,2080,1449300,2080 2009年8月13日,2090,2090,2080,2090,1137900,2090 以上

    • ベストアンサー
    • Perl
  • Perlについて教えてください。

    Perlについて教えてください。 私はPerl、Linux(FreeBSD,CentOS)について初心者の為よくわからないので2点質問させてください。 ネットでPerlについて調べたところ 1. WindowsでのPerl開発 = Active Perl(ActiveState社) WindowsでのPerl開発 = OSに最初から組み込まれているもの(違っていたらすみません) との記述がありますが、ActiveState社のHPに行くとWindows,Mac,Linux,SunのActive Perl がありますがActive PerlはそれそれのOSで同じソースががつかえるのでしょうか? 2. Windows XPにActive Perlをインストールしたところ「Perl package Manager」もインストール されていたので、起動してみるとインストールされている(インストールできる)PPMが表示されますが PPM(Perl Package Modeule)=Win32用Perlモジュール CPANのPerlモジュール=Linux用のPerlモジュールと考えていたのですが 両方とも表示されています。 CPANで入手できるPerlモジュールはWindows環境下のActive Perlでもしようできるのですか? 馬鹿な質問と思うのかもしれませんが是非教えてください。

    • ベストアンサー
    • Perl
  • perlのモジュールについて

    Linuxを使って間もない者です.xamppをLinuxにインストールしたのですが、モジュールの格納場所が違っているせいかうまくCGIスクリプトがうまく実行できません. Linux上でのperlモジュールの格納場所を教えていただけないでしょうか? 以下エラー内容 Can't locate JSON/PP.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i386-linux-thread-multi /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi 省略・・ /usr/lib/perl5/vendor_perl/5.8.6 //usr/local/lib/site_perl/5.8.2/i386-linux-thread-multi /usr/local/lib/site_perl/5.8.2 /usr/local/lib/site_perl .) at (eval 4) line 3.

  • Perlのモジュール呼び出しについて

    Perlのモジュール呼び出しについて質問があります。 windows2000/apache/perlの組合わせにより LOCALでWebサーバを構築しています。 かなり初心者質問で申し訳ありませんが、以下の内容で困っています。 Web上で use XXX と書いたperlを呼び出すと Can't locate XXX.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at (プログラムの場所) となって動作しません。 XXX.pmはC:/Perl/libにあることは確認しました。 ただしDOS上で同じplファイルを起動させると 問題なく動作しました。 何処に問題があると考えられますか? みなさまのお知恵をお貸し下さい。 よろしくお願いします。

  • HTML::FillInFormが使えない(インストールできない?)

    HTML::FillInFormをCPAN経由でインストールしましたが、うまく動きません。対処方法を教えていただけないでしょうか。 状況は以下のとおりです。 CPAN経由でHTML::Templateはインストールして使えているのでCPANの原因ではない模様。 HTML::FillInFormを使うPerlを実行すると以下のメッセージが出る Can't locate HTML/FillInForm.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at ***(PGM名).cgi line 34, <DATA> line 846. line34にはuse HTML::FillInFormと記述している。 教えてgooで検索したところ、 http://oshiete1.goo.ne.jp/qa2007575.html に同様の話が出ていたので、回答へのお礼を参考に、 処理を実行。 ところが、make installの時点で以下のメッセージが出てインストールできません ERROR: Can't create '/usr/local/lib/perl5/site_perl/5.8.8/mach' Do not have write permissions on '/usr/local/lib/perl5/site_perl/5.8.8/mach' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at -e line 1 *** Error code 13 CPAN 経由でインストールを再度試みても、インストールされていると誤認識されているのか、 HTML::FillInForm is up to date (2.00). と出ます。 原因と解決方法を教えていただけないでしょうか。 FillInFormの前に別のモジュールをインストールしてないといけないのでしょうか?

    • ベストアンサー
    • Perl
  • PerlモジュールのApache-Responseについて

    Active Perl 5.8でモジュールをインストールしようとしましたが、 ppm install Apache-Response CPANサイトで検索しても Apache::Responseというズバリのものはありませんでした。 どこで手に入れることができるのでしょうか? できれば簡単にインストールしたいです。

    • ベストアンサー
    • Perl

専門家に質問してみよう