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
时间仓促,错误难免,请见谅。