私はこのウェブサイトからニンテンドーDSの価格をlynx -dumpを使って引き出しています。アポストロフィを含むURLでlynx -dumpを使用するにはどうすればよいですか?
たとえば、のは、私はゲームヨッシーTouch用のWebページから引っ張って行くつもりですと言ってみましょう:
/usr/bin/lynx -dump -width=150 http://videogames.pricecharting.com/game/nintendo-ds/Yoshi-Touch-and-Go
すべてが正常に動作し、私は簡単に価格を引っ張るために正規表現を使用することができます。この問題は、URLにアポストロフィ( ')またはアンパサンド(&)が含まれているときにエラーが発生したときに発生します。ここで
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
コードです:
/usr/bin/lynx -dump -width=150 http://videogames.pricecharting.com/game/nintendo-ds/Yoshi's-Island-DS
は、これらのほとんどのエラーを私に与える:だから私はこのコード行を使用する、のは私がしようとするとゲームヨッシーアイランドDS用のページを見つけましょう私は、 "http://videogames.pricecharting.com/game/nintendo-ds/Yoshi's-Island-DS"を含む文字列である$fullURL
で-dumpを呼び出すのに使用します。
$command = "/usr/bin/lynx -dump -width=150 $fullURL";
@pageFile = `$command`;
$fullURL
文字列をURL互換文字列に変換する解決策を見つけられる人はいますか?
[LWP](http://p3rl.org/LWP)と[LWP :: Simple](http://p3rl.org/LWP::Simple)をご覧ください。シェルを使用して 'lynx'を呼び出すよりも、Webページの内容が重要です。 –
私は間違いなくそれを念頭に置いています。私はperlクラスの最終プロジェクトのためにDSの価格チェッカープログラムを作っていました。私たちはこのセミナーの前に、lynxを使ってページの内容をダンプするのと同じ方法を使っていました。だから私はこのプロジェクトのためにも同じ方法を使い続けました。私はちょうどそれをすべて終了し、それは効率的ではありませんが、すべてのゲームを処理するためにしばらく時間がかかりますが、うまく動作します。しかし、アイデアをありがとう! :) – Nick