# Plugin - WebParser - Rainmeter官方文档 - 雨滴社区 - Powered by Discuz!
 找回密码
 点击注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 7702|回复: 0

Plugin - WebParser

[复制链接]

签到天数: 265 天

[LV.8]以坛为家I

发表于 2012-5-27 14:24:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?点击注册

x


【版权声明】
   本文档翻译者:雨滴社区-jyf823691221
   本文档仅用于雨滴社区站内交流,禁止转载,由此引发的一切责任及版权纠纷由转载、传播本文档者负责。

WebParser

Plugin=Plugins\WebParser.dll

WebParser从网页上面读取信息.这个插件使用Regular Expressions(正则表达式),因此它能从许多网页上面提取信息.这个插件可以用来获取当前的电视节目单,天气条件,股票信息,新闻等几乎任何网上面的信息.而缺陷在于,倘若你不熟悉编程语言的话,正则表达式会显得有点复杂(即使你会那么一点点).

你可以在WebParser Primer RSS Skin Tutorial上面找到相关的更加多的信息.

 

Options:

 

Url

被下载和解析的文件的Url.Url也可是另一个WebParser-measure,在这种情况下,可以重复使用已经下载的页面并且解析信息(例如:在同一文件上面展示不同的StringIndex).要做到这一点,只需要给Urlmeasure后面加上measure(例如:Url=[MeasureExample]).

 

Note:WebParser也可以用来读取解析电脑上面的文件,使用Url=file://C:\path\file.ext.

 

RegExp

正则表达式解析.这个插件兼容Perl Compatible Regular Expressions,点击这里了解更多.

 

FinishAction

页面下载解析完成时的Bang或者command.

 

StringIndex

定义返回RegExp检测到的第几个字符串,你可以设置Debug=1,将所有的匹配字符串添加到日志文档,从而得到正确的索引.

 

StringIndex2

当从其他的measure中的RegExp调取特定的字符串时使用这个参数, (Url指向的measure,而不是真正的URL).在这种情况下,StringIndex定义了其他RegExp返回的结果的索引,StringIndex2则定义measureRegexp的索引.如果measure里没有定义RegExp,那么此参数无效果.

 

UpdateRate

网页下载间隔.此值是相对于主更新频率的(Update).最好是限制频率,防止不断向服务器请求数据(译者认为这会消耗带宽).假如更新频率过高,网站管理员可能会禁止从该网站获取信息(加大了网站服务器压力).因此,如果主要更新频率是1000(即一秒钟,这是默认的)设置此数值为60,那么该measure将一分钟更新一次数据.

 

DecodeCharacterReference

自动解码HTML.这将消除对于”Substitute=”在替换”&quot;, &amp;, &lt;, &gt;”(&,<,>等常用的网络符号)时的需要.

1-不作任何修改(默认).

2-对数字字符和字符实体进行解码.

3-仅对数字字符进行解码.

4-仅对字符实体进行解码.

 

Debug

设置为1则将调试信息写入日志文档中.(注意,此时Rainmeter必须开启调试模式,启用日志文档).设置为2则将下载的网页内容转存到C:\WebParserDump.txt.这可能是有用的,因为有些服务器会发送不同的信息,这可能取决于客户端的请求.请记住,如果它正常工作,请从配置文件中删除.

 

Debug2File

如果调节设置为2,那么这个参数将允许你设置下载网页的路径和文件名.

 

Usage:

 

[WebParserMeasure]

Debug2File="C:\filename.txt"

Debug=2

 

[WebParserMeasure2]

; Saves to current skin folder

Debug2File="Debug2File.txt"

Debug=2

 

Notes:

必须含有至少一个文件名,只有路径时无效.

必须是已经创建好了的路径,插件不会自动创建文件夹.

 

Download

如果设置为1,URL对应的网址将被下载之一个临时的文件夹,文件的名称将以字符串的形式返回.假如RegExp定义了解析这段字符串作为一个链接来下载这张图片,这个measure可以使用在Image meter,从网上下载图片,并且展示该图片.

 

DownloadFile

Download设置为1,该文件被下载到皮肤文件夹里面的DownloadFile文件夹下,该文件的文件名使用的就是这里定义的文件名.加入你把它设置为”DownloadFile=image.jpg”,DownloadFile文件夹将在皮肤文件夹下被创建,然后下载的图片被保存为”image.jpg”.如果你定义为”DownloadFile=photo\image.jpg”,将在皮肤文件夹下创建DownloadFile文件夹,并且在该文件夹下再创建一个名为照片的子文件夹,将下载的图片以”image.png”保存到该文件夹中.

 

Notes:

这个文件夹不是临时文件夹,所以即使关闭皮肤它不会被删除.

为了规范文件路径,不可用绝对路径,指定到DownloadFile文件夹的规范也是不可能的.

 

ErrorString

定义解析错误时返回的字符串.

 

ForceReload

如果设置为1,WebParser只在资源被修改的情况下读取资源.

 

ProxyServer

代理服务器名称.该插件不支持任何身份验证,因此可以使用不需要它的服务器或者您需要一些不同的方式通过身份验证使用代理服务器.

ProxyServer=serverIP:port

ProxyServer=servername:port

 

CodePage

定义已下载的web页的字符编码.例如: CodePage=28605解释为Latin 9 (ISO-8859-15).如果设置为0,那么没有转换. CodePage=65001UTF-8.你可以点击这里了解更多.

 

示例皮肤:

 

Slashdot's RSS提要检索标题和第一项.

[MeasureRSSTitle]

Measure=Plugin

Plugin=Plugins\WebParser.dll

UpdateRate=3600

Url=http://slashdot.org/slashdot.rdf

RegExp="(?siU)<title>(.+)</title>(.+)<item(.+)<title>(.+)</title>"

StringIndex=1

FinishAction=!Redraw

 

[MeasureRSS]

Measure=Plugin

Plugin=Plugins\WebParser.dll

Url=[MeasureRSSTitle]

StringIndex=4

Substitute="&amp;":"&"

 

从芬兰气象研究所下载当前气象图.

[MeasureDL]

Measure=Plugin

Plugin=Plugins\WebParser.dll

UpdateRate=1800

Url=http://www.fmi.fi/saa/sadejapi_5.html?selected=7

RegExp="(?siU)ennuste" SRC=\"(.*)\"></TD>"

FinishAction=!Redraw

StringIndex=1

Download=1

 

[MeterImage]

Meter=IMAGE

MeasureName=MeasureDL

X=0

Y=0

W=400

H=300

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点击注册

本版积分规则

快速回复 返回顶部 返回列表