1

我需要下载在线印地语词典以供离线使用。字典中的每个单词都有一个 php 生成的页面。这些页面的 URL 如下: http://pustak.org/home.php?mean=X,其中 X 代表一个数字。

所以字典中的第一个单词可以通过 go to 找到http://pustak.org/home.php?mean=1,第二个单词 ishttp://pustak.org/home.php?mean=2以此类推。

如何以编程方式下载所有这些页面并将它们保存为单独的 html 文件?

PS:如果你想知道,我这样做是因为我需要一个印地语字典来在旅行时在我的 iPod Touch 上离线参考(因为 Touch 没有蜂窝数据)。我已经尝试了一大堆印地语词典应用程序,但没有一个能接近这个免费在线词典的质量和定义数量。所以我的计划是将整个内容下载为 html 文件,将它们全部存储在支持全文搜索的 iOS 文件系统应用程序中,并且我有自己的离线字典......

帮助表示赞赏!

4

2 回答 2

1

方法略有不同,我个人会使用HTTrack

从主页:

HTTrack 是一个免费(GPL,自由/自由软件)且易于使用的离线浏览器实用程序。

它允许您将万维网站点从 Internet 下载到本地目录,递归地构建所有目录,将 HTML、图像和其他文件从服务器获取到您的计算机。HTTrack 安排原始站点的相对链接结构。只需在浏览器中打开“镜像”网站的一个页面,您就可以从一个链接到另一个链接浏览该站点,就好像您在在线查看它一样。HTTrack 还可以更新现有的镜像站点,并恢复中断的下载。HTTrack 是完全可配置的,并具有集成的帮助系统。

根据该网站,它支持 Windows 2000 / XP / Vista / Seven 和多种 Linux 版本。

我假设您可以将下载的文件导入您提到的这个 iOS 应用程序。

于 2012-12-12T12:04:49.523 回答
0

你可以试试file_get_contents

$max = 100000 //total num of words to get

for($cont=1; $cont<$max; $cont++){
    $sourceCode = file_get_contents('http://pustak.org/home.php?mean=$cont');

    if(!file_put_contents('/path/word'.$cont.'.html',$sourceCode)){
        echo "error with word number".$cont;
        die();
    }
}
于 2012-12-12T12:04:14.967 回答