【发布时间】:2012-04-24 19:06:18
【问题描述】:
我正在使用 lynx -dump 从该网站拉取 Nintendo DS 价格。
例如,假设我要从网页拉取游戏 Yoshi Touch and Go:
/usr/bin/lynx -dump -width=150 http://videogames.pricecharting.com/game/nintendo-ds/Yoshi-Touch-and-Go
一切正常,我可以使用正则表达式轻松拉出价格。当 URL 包含撇号 (') 或与号 (&) 时会出现问题,因为这会引发错误。所以假设我尝试找到游戏 Yoshi's Island 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
这是我用来调用 -dump 的代码,$fullURL 是包含“http://videogames.pricecharting.com/game/nintendo-ds/Yoshi's-Island-DS”的字符串。
$command = "/usr/bin/lynx -dump -width=150 $fullURL";
@pageFile = `$command`;
谁能帮我找到将$fullURL 字符串转换为URL 兼容字符串的解决方案?
【问题讨论】:
-
很多人都想看看LWP 和LWP::Simple 以获得比使用shell 调用
lynx更好的方法来获取网页内容。 -
我一定会牢记这一点。我正在为我的 perl 课程的一个期末项目制作一个 DS 价格检查程序,我们在本学期早些时候完成了一项作业,该作业使用与使用 lynx 转储页面内容相同的方法。这就是为什么我也为这个项目保留了相同的方法。我刚刚完成了这一切,它运行良好,虽然效率不高,并且需要一段时间来处理所有游戏。不过谢谢你的主意! :)