首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

AutoPager简要攻略(三):创建规则

2012-07-01 
AutoPager简明攻略(三):创建规则原文出处:http://qixinglu.com/archives/autopager_tutorial_create_rule,

AutoPager简明攻略(三):创建规则
原文出处:http://qixinglu.com/archives/autopager_tutorial_create_rule,略有改动。

上篇文章说了AutoPager的基本用法和优化,这篇分享一下如何添加自定义规则。其实添加自定义规则是很简单的,基本上不需要XPath知识,我之前也不会XPath,只是根据默认的规则摸索出来的。后来看了一下XPath教程还有XPath教程再熟悉一下而已。

准备工作

*先禁用翻页效果,按《AutoPager简明攻略(二):基本使用》里所说的把所有默认规则全部删掉禁用,包括“Chinalist.xml”,等看完后再重新启用。
*默认规则删掉后可以通过在线更新恢复,所以请先关掉AutoPager的自动更新功能。

一个网站规则添加的顺序是

1、打开要待添加网页,打开第一页。
2、添加一个网址表达式,当地址栏的网址符合表达式时就调用相应的规则,网址表达式支持通配符或者正则表达式。
3、找出当前指向下一页的连接,指带有“下一页,next,>>”的连接。创建XPath表达式。
4、找出每一页不同的部分,也就是所要附加的部分,也是创建XPath表达式。

这里就用Google网页和Google图片搜索来做例子说明。

Google网页实际操作:

1、随便用Google搜个词。
2、然后在按钮栏的“自动翻页”按钮打开“自动翻页工作室”侧边栏,没有这个按钮,右键工具栏“定制”把它拉出来,或者在菜单“查看”,“侧栏”, “自动翻页”调出。
3、“自动翻译工作室”字样下面是不是有6个按钮?先点那个第一个放大镜,之后就出现下图的效果。这个按钮表示“自动识别”,也就是创建规则,看到侧边栏的上方的2行表达式没有?那就是自动生成的。看不懂,好吧,Google网页现在可是准确认识出,不过其它网站未必,所以我们得手动识别。



4、按第四个按钮,也就是清除设置,侧边栏的代码就会消失了。
5、刷新一下网页,那个橙色的边框就会消失了,下面是手动添加过程。
6、这次点第二个按钮,表示选择“下一页的”链接,按下后网页会出现红色的边框,看到左边的按键提示没有,通过“w”和“n”键可以放大缩小边框,其实就是选择网页元素而已,应该选择那个部分呢?就是“下一页”字样啦,如果有2个或以上“下一页”的链接,随便选一个。选好后按“s”键,不要点击鼠标,不然会跳到下一页。接着你会见到侧边栏“下一页XPath路径”出现了代码,先不用管。



7、再按第三个按钮,表示选择下一页所附加的内容,使用方法使用同上一步,一个大框把所有需的内容“包”住,那个红框是跟随鼠标的,如果页面太长,需要滚上滚下来查看是否选择好,可以按“p”键来暂停红框鼠标跟随,再按一下就继续跟随鼠标。注意一下红色框左下角的英文,等下再说明,确定后再按“s”键。接着在“内容XPath路径”出现了代码。



8、然后目光就回到侧边栏啦,明白刚才两步干了什么吗?就是手动分别创建“下一页XPath路径”和“内容XPath路径”里的代码,如果选错了就重新点击按钮选择一下。
9、这里下面还有3个标签页,第一个就是“站点列表”,先不用管。第二个是“下一页XPath路径”的代码的候选表达式和预览,双击候选框里的表达式即可应用,如果现在不是//b[contains(text(),'下一页')],那么双击应用它。第三个标签页类似,选择//div[@id='res'],为什么要选择这两个呢?等下再说明。
10、然后就点击第5个按钮,测试一下,就会看到翻页效果了。



11、确认选择无误之后就按第6个按钮,接着就出现设置对话框,在描述一栏改成“Google网页”,然后点击确定,就大功告成啦。



12、回到网页,启动自动翻页,接着右下角就出现选项了,选好后就Google网页就自动翻页了。是不是好简单呢?比以前那个方法直观简便多了。

下面换到Google图片继续练练手,随便搜个关键词,按上述步骤添加规则,2个XPath分别是:

//b[contains(text(),'下一页')]
//div[@id='ImgContent']

再到Ubuntu中文论坛的一个有2页以上的帖子练手,2个XPath分别是

//a[contains(text(),'下一页')]
//body/table[@class='forumline']

表达式的选择

候选一栏中有好几个表达式为什么要选这个?下边有几个经验之得

*有一个“权威性”的属性,我不知道是什么东西,不用鸟它。
*“下一页”链接一般都是这个结构//b[contains(text(),'下一页')]
*也就是选中带有”下一页“,”Next“,或“>>”之类的链接,如果选择了其它就表示错了。
*还有一个“匹配数”,一般是1个,如果有2个或以上,看看是不是网页有2个或以上“下一页”的链接,预览那个橙色框也应该同时选中这2个。如果内容是不同的,那么就选错了。而附加内容一般是这个//aaa[@bbb='ccc']
*匹配数可以不同,预览一下是不是你所需要的内容,不过也是只有1个最好。
*有以上2中结构的优先选择,不行再选长一点的。
*表达式越短越好,不妨先选最短的预览一下。
*还记得上边第8步所说的红色框左下角的的英文么?如果你发现按“w”和“n”放大或缩小红色框时,发现框大小不变,但坐下角的英文却边了,那么选长一点的英文更好,也就是带有“XXX,YYY”,通常是“div,XXX”或“id,YYY”,的比单单一个“td”、“tr”、“tbody”更好,因为构成的表达式就是符合上边那种结构。
*如果要学习XPath可以参考内置规则,和到文章开头的地址学,很简单的。

看起来有点罗嗦,其实很简单的,如果网站不太复杂,一般用“自动翻页工作室”多时几次就能应付了,如果网页结构实在混乱,Firefox同样也有其它好用的扩展来辅助创建XPath。

热点排行