lynx -dump を使用して、この Web サイトからニンテンドー DS の価格を取得しています。
たとえば、ゲームのヨッシー タッチ アンド ゴーの Web ページからプルするとします。
/usr/bin/lynx -dump -width=150 http://videogames.pricecharting.com/game/nintendo-ds/Yoshi-Touch-and-Go
すべてが正常に機能し、Regex を使用して価格を簡単に引き出すことができます。この問題は、URL にアポストロフィ (') またはアンパサンド (&) が含まれている場合に発生し、エラーが発生します。たとえば、ヨッシーアイランド DS というゲームのページを見つけようとすると、次のコード行を使用します。
/usr/bin/lynx -dump -width=150 http://videogames.pricecharting.com/game/nintendo-ds/Yoshi's-Island-DS
これらの小さなエラーが発生します:
sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file
$fullURL
これは、 「http://videogames.pricecharting.com/game/nintendo-ds/Yoshi's-Island-DS」を含む文字列で-dump を呼び出すために使用するコードです。
$command = "/usr/bin/lynx -dump -width=150 $fullURL";
@pageFile = `$command`;
$fullURL
文字列を URL と互換性のある文字列に変換するソリューションを見つけるのを手伝ってくれる人はいますか?