MetaProducts Offline Explorer使用简易教程

by windtrace  20170419

最近想下载一个网站上的内容打包成chm文件,以便离线浏览,webzip太长时间不更新,而且只能机械的copy下html,不能自动修改其中链接指向,于是选择了功能强大的Offline Explorer。使用中发现OE的project配置混乱晦涩,于是整理了此教程。

一、Project group

选择new project后,会弹出Project Properties配置窗口。Project组包括6项内容:

l  Address:设置项目名称以及下载开始的地址(Starting web address),下载地址可以有多个。

l  Level File Modification:对下载的文件进行初步过滤,如可以设置只下载系统更新过的文件。

l  Passwords:网站需要密码登陆时设置密码。

l  Url Macros:如果多个url有简单规律(如仅是其中的某几项递增等),则在本项设置。

l  Download Directory:下载文件存储目录。其中选项use unicode symbols in filename,应该是指文件名用unicode编码,如utf-16,建议此项默认不选。

二、File Filters group

该组选项对下载的文件格式及其在服务器中的位置进行设置,配合下面的URL Filters可实现对下载内容的控制。

l  Text:文本文件

l  Images:图片

l  Videos:视频

l  Audios:音频

l  Archives:普通文件

l  User Defined:主要是网页显示、功能相关的文件,如css、json等,此项一般要选择,以免影响下载网页的显示。

l  Other:其他文件

每项设置里面都有三方面内容:

1、location:用于控制下载文件在服务器中的位置,需要仔细选择,以免下载混乱。

l  Download using URL Filters Setting:与后面的URL Filters的设置保持一致。

l  Download only from the starting server:只下载位于起始服务器(Starting server)的文件。如果前面的Starting web address 设置为http://zh.cppreference.com/w/,那么将只从zh.cppreference.com这个域名指定的服务器下载文件,en.cppreference.com中的文件会被排除。

l  Download only from the starting direction:只下载位于服务器指定目录及其子目录的文件。如果前面的Starting web address 设置为http://zh.cppreference.com/w/,那么将只下载http://zh.cppreference.com/w/下的文件。注意:一些网页的css、js等文件往往存放在其他目录,如果选择该项有可能导致这些文件无法下载而使页面功能或显示异常。

l  Download from any website:下载任意网站上的文件,也就是对文件来源不加限制。

l  Download only from the starting domain:只下载指定域名下的文件。此选项与上面第二项有所区别。OE官网没有对server和domain进行说明,按一般理解,一个server可以对应多个domain,如果server上的某一文件没有被当前domain引用过,那么即使此文件被该server上的其他domain引用过,也不能下载。对于前面的设置http://zh.cppreference.com/w/,如果存在http://zh.cppreference.com/w/cpp/file1.htm的引用,则该文件会被下载,但如果域名en.cppreference.com也指向相同的服务器,且仅仅(注意表述)存在一个http://en.cppreference.com/w/cpp/file1.htm的link,那该文件会被排除。相同情况下,Download only from the starting server选项下,该文件会被下载。

2、File size:通过文件的尺寸来控制下载与否。其Priority download选项,估计是用于表示在该项设置的条件与其他两项冲突时,优先满足该项条件。

3、Extensions:扩展名控制。

三、URL Filters

该组选项对目标文件的URL进行设置,以控制下载与否。

l  URL Exclusions:不下载指定的url文件。可多个,支持通配符(后面会讲)。可惜没有inclusions选项,只能通过后面几项勉强实现,搞得我焦头烂额,也直接促成了本文的产生。比webzip差多了,如果程序员有心的话,后续版本中肯定会增加该功能。

l  Protocols:协议选择。

l  Servers:服务器控制。可对服务器或域名进行控制(两者区别见上面内容),如果是多个服务器,可通过关健字对服务器部分(即zh.cppreference.com这部分)进行筛选。官网的举例:

Keyword

Matches URLs

Doesn’t match URLs

zdnet.com

http://www.zdnet.com/ http://hotfiles.zdnet.com http://zdnet.com.de

http://www.zdnet.de

www.zdnet

http://www.zdnet.com/ http://my-www.zdnet.de/

http://hotfiles.zdnet.com http://zdnet.com.de

w.zd

http://www.zdnet.com/ http://www.zdnet.de/

http://hotfiles.zdnet.com http://zdnet.com.de

www.*.com

http://www.zdnet.com/

http://www.zdnet.de/

l  Directions:目录控制。对url中的目录部分(即服务器后面的部分)进行控制。可多个,支持通配符(后面会讲)。官网的举例:

Keyword specified in the Included list

Matches URLs

Doesn’t match URLs

somedir

http://www.zdnet.com/somedir/file.htm http://files.com.de/somedirectory/ http://zdnet.com.uk/mysomedirs/

http://www.zdnet.de/someotherdir/

/path/dir

http://www.zdnet.com/path/dir/file.htm http://www.zdnet.de/inside/path/directory/

http://hotfiles.zdnet.com/mypath/dir/file.gif http://zdnet.com.de/path/dir.txt

^/mydir/$

http://www.zdnet.com/mydir/file.ext

http://hotfiles.zdnet.com/mydir/path/file.txt http://zdnet.com.de/some/mydir/

http://www.s3.*/path

http://www.s3.com/path/file.htm http://www.s3.jp/path/dir/image.jpgfile.htm

http://www.zdnet.com/path/

l  Filenames:文件名控制。可多个,支持通配符(后面会讲)。官网的举例:

Keyword

Matches URLs

Doesn't match URLs

somefile

http://www.zdnet.com/dir/somefile.htm http://files.com.de/file.asp?somefile=val

http://www.zdnet.de/someotherfile

default.htm

http://www.server.com/dir/ http://www.other.com/default.htm

http://www.server.com/file.html

http://*.zdnet.*/path*/*.cgi

http://www.zdnet.com/path/file.cgi http://www.zdnet.de/path/dir/other.cgi

http://hotfiles.zdnet.com/mypath/dir/file.gif http://zdnet.com.de/path/dir.txt

/*folder*/*.zip

http://www.srv.com/dir/folder/other/file.zip http://www.other.uk/folder/archive.zip

http://hotfiles.zdnet.com/folder/dir/file.gif http://zdnet.com.de/dir/file.zip

link:Football

Any link that has Football word in its text

四、Content Filter

用于通过关健字对网页中的内容筛选来控制下载与否。比较简单,略过。

五、Advanced

其他设置,其中的Link Conversion比较有用,用于修改html的link标记:

l  offline conversion:将所有下载的文件中的链接改为本地链接,如http://en.cppreference.com/w/cpp/file1.htm将被改为w/cpp/file1.htm,以便链接到本地文件。

l  on-line conversion:将指向已下载文件的链接改为本地链接,指向未下载文件的链接修改为指向服务器文件(对于link标签中的相对链接,会改为绝对链接)。

l  no conversion:不对链接做特殊处理。

l  Mixed:没搞明白,估计是:同on-line conversion,但不修改指向未下载文件的链接。

六、通配符:来自官网

通配符

举例

^ 匹配关健词开始

^www.cnn  表示以 www.cnn为开始的字符串,如www.cnn.com

$  匹配关健词结束

.htm$ 表示以 .htm.结束的字符串,如file1.htm

[ ] 字符集合。匹配所包含的任意一个字符。

g[eo] 匹配 get 和got

字符范围,匹配指定范围内的任意字符

[a-z] 可以匹配 'a' 到 'z' 范围内的任意小写字母字符

[0-9] 可以匹配所有数字

匹配一个或多个字符

^a*.gif$匹配所有以a开对,以.gif结尾的任意文件

七、参考

http://help.metaproducts.com/offline-explorer-enterprise/#setting-url-filters

http://help.metaproducts.com/offline-explorer-enterprise/#using-wildcard-characters-to-specify-keywords

时间仓促,错误难免,请见谅。

MetaProducts Offline Explorer使用简易教程的更多相关文章

  1. 4种常用扒站工具(webzip、ha_TeleportPro、Offline Explorer、wget)

    许多开始做lead,EMU的新手,需要一个英文网站,找人定制费用太贵自己又不会技术的话,可以通过扒站来获得英文站,今天给大家介绍几种扒站工具: 1.HA_TeleportPro: Teleport P ...

  2. 生活科技两相宜:(一)Win7使用微软SkyDrive网盘简易教程

    今天得写一个Win7使用微软SkyDrive网盘的简易教程,主要是给我老婆看,顺便贴出来给大家共享一下:)    使用微软SkyDrive网盘有两个层次.一个是使用网页版,这个跟使用163或者QQ网盘 ...

  3. JavaScript简易教程(转)

    原文:http://www.cnblogs.com/yanhaijing/p/3685304.html 这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScri ...

  4. Emacs简易教程

    Emacs简易教程阅读: 命令: $emacs 进入之后,输入: C-h t 这里,C-h表示按住[Ctrl]键的同时按h ####### 20090620 *退出: 输入“C-x C-c” *撤销: ...

  5. 文件上传利器SWFUpload入门简易教程

    凡做过网站开发的都应该知道表单file的确鸡肋. Ajax解决了不刷新页面提交表单,但是却没有解决文件上传不刷新页面,当然也有其它技术让不刷新页面而提交文件,该技术主要是利用隐藏的iFrame, 较A ...

  6. 【转】Delphi内嵌ASM简易教程

    Delphi内嵌ASM简易教程 作者:heiying2006-03-19 18:33分类:默认分类标签: 前言 Delphi作为一个快速高效的开发平台,使用的人越来越多,但熟悉在Delphi代码中嵌入 ...

  7. Ant 简易教程

    转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...

  8. Intellj IDEA 简易教程

    Intellj IDEA 简易教程 目录 JDK 安装测试 IDEA 安装测试 调试 单元测试 重构 Git Android 其他 参考资料 Java开发IDE(Integrated Developm ...

  9. Zabbix实战-简易教程系列

    一.基础篇(安装和接入) Zabbix实战-简易教程--总流程  Zabbix实战-简易教程--整体架构图 Zabbix实战-简易教程--DB安装和表分区 Zabbix实战-简易教程--Server端 ...

随机推荐

  1. RMI原理及简单示例

    分布式对象 在学习 RMI 之前,先来分布式对象(Distributed Object):分布式对象是指一个对象可以被远程系统所调用.对于 Java 而言,即对象不仅可以被同一虚拟机中的其他客户程序( ...

  2. Maven的声明周期(Lifecycle )和命令(Phase)

    生命周期(Lifecycle ) Maven有三套相互独立的生命周期(Lifecycle ): Clean Lifecycle:做一些清理工作: Default Lifecycle:构建的核心部分.编 ...

  3. 重新认识JavaScript

    JavaScrpit在我眼中一直是web前端脚本语言,而这段时间的一些工作,让我对JavaScript有了一个全新的认识. 公司准备启动的一个手游项目,服务器端准备使用网易的开源框架pomelo.po ...

  4. asp.net mvc源码分析-Route的GetRouteData

    我知道Route这里东西应该算路由,这里把它放到mvc里面有些不怎么合适,但是我想大家多数遇到路由都是在mvc的时候吧.首先我们还是来看看GetRouteData方法吧 [csharp] public ...

  5. Visual Studio 2017 ASP.NET Core开发

    Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core 功能安装以后就可以进行 ...

  6. Struts2框架(8)---Struts2的输入校验

    Struts2的输入校验 在我们项目实际开发中在数据校验时,分为两种,一种是前端校验,一种是服务器校验: 客户端校验:主要是通过jsp写js脚本,它的优点很明显,就是输入错误的话提醒比较及时,能够减轻 ...

  7. C#"曾经的字符串数组"string[] array=new string[]{"**","****"};

    写博客是一件很伟大的事情,尤其是也牛逼的博客,因为它能帮助需要的人,更能使自己对知识有一个更为深刻的理解! 欢迎关注我的博客! 字符串操作(取当前时间) string time=convert.tos ...

  8. okhttp +fastJson 在UI层的回调封装

    一直使用OkHttp 经常烦人的地方是回调方法  数据解析后必须通过handler 在主线程做操作 网上找了很多资料 发现有些都是基于Gson做的解析 fastJson 在封装时 泛型传入会有很多不方 ...

  9. 使用RecyclerView实现的分组列表。

    项目介绍: StickyHeaders使用RecyclerView实现的分组列表

  10. Web API框架学习——路由(一)

    HttpConfiguration(ASP.NET Web API管道的配置是通过HttpConfiguration来完成) : 包括路由注册在内的对整个ASP.NET Web API管道的配置是通过 ...