“烧录”这词确实够老土了的,红白机流行那阵有些Geek都已经为了玩几盘“免费”游戏,在这上面煞费苦心;现在都Web2.0时代了,RSS作为2.0的主要应用已呈漫天飞舞之势,烧录太古董了点吧?
别说,还真有这种不开化的网站,而且大部分还是精品,还就不提供RSS—我让你这些人“抓”我的内容!为了教育一小撮不明事理的顽固分子,本着治病救人,“反抗是没有用滴!”的原则,《Geek》今天就将用这种最古老的烧录术,破解那些不具备RSS输出的网站。
为便于演示,本烧录术以《Geek》官方网站(www.mcgeek.com.cn)为例,目标是提取“最新日志”部分。我们还在烧录术中加入了合纵术,将多条RSS内容融合在单个RSS输出中,以更显个性,下面请看详细内容。
Step 1:寻找上古神器
作为最古老的技术之一,对RS S的烧录已经不需要购买烧录卡或者烧录器这类玩意儿了,利用“古鸽”,可以找到大量提供这类服务的在线网站,去伪存真,我们需要找到最适合的那枚神器—Fees43看来是不错的选择。
这枚神器的优点在于拥有免费服务,绝大部分应用极为简单,如果愿意深层次修炼,几乎可以从最BT的页面中提取出需要的内容。请记住它的门牌号w w w.feed43.com。暂时还没有中文版本,但完全不影响使用。
Step 2:实操烧录心法
Feed43的秘籍是利用模式匹配,从网页源代码中分析出需要的内容,并重新组合。最重要的两个基本招式为匹配符{%}与{*},实操如下:
(1)注册个人账号
由于烧录出的RS S内容是生成在Feed43的服务器中的,为便于访问、管理和编辑,一个个人账号必不可少。关于注册,请猛击页面“Create Account”,参照提示进行,诸位Geek对此已是轻车熟路,此处不再详述。
(2)创建新RSS
注册登录后,点击My Feeds进行新RSS的创建。页面会自动生成一个以一串数字命名的文件,点击“Edit”进行编辑。首先输入需要抓取内容的网页及其所采用的页面编码,页面编码可以从浏览器的“查看源文件”中找到。
(3)定义源码分析范围
点击“Reload”按钮,Feed43会载入此页面并显示此页的源代码。呃,虽然看起来有点头痛,不过好在不需要逐行去看,只要大致找到需要的那段,并把此段的头、尾标识出来,让Feed43自己去分析。标识头尾的方法为:找到需要提取内容的首行第一个代码,本例为“
”;提取内容最末一行的下一行代码,本例为“”。注意,HTML代码一般是成对出现的,形如“…”,末尾标识一定要是“”这种结束符。如果觉得标识困难,也可以直接用“{%}”通配整个页面代码,这样做的缺点是,需要服务器分析全文,速度和效率不及人工指定高。
(4)创建模式匹配符
最神奇的变换皆来自此部分,编程术语上,这称为正规表达式,F e e d43的优点是不需要那么麻烦,只用{%}和{*}就能解决绝大部分页面。其原理为:目前几乎所有的页面都是从数据库中提取内容动态生成的,生成要使用模板,而模板显示的内容一般都是有规律的,找到提取部分的规则信息,并用{%}取代需要内容部分,用{*}忽略掉不要的部分,剩下的就交给Feed43操作了。对于mcgeek,“最新日志”的源代码结构如图。可分析出每条信息的结构形如“日志标题 ”,我们只简单地提取内容标题和链接,因此匹配模式为“
{%}”,每个{%}代表一个需要提取的项,如果需要提取的内容不连续,比如“
日志标题 ”后面还有很多其他不需要的内容,可以使用{*}过滤掉此部分(
{%}{*})。
(5)生成RSS条目
点击“Extract”按钮,提取需要的内容。本例中我们只提取了日志标题和内容链接,会生成两个条目{%1}和{%2},分别对应所要的内容。理论上,只要你愿意,可以提取的条目是没有限制的。这种{%x}的结构类似于初中代数中的x和y,插入文章中即可显示提取的内容。
(6)重组RSS输出
重组工作在RSS item properties中完成,这里你可以加入个性化的显示文字,并把提取的{%x}带入其中,还可以自己设计模板。完成后点击“Preview”即可预览效果,并获得RSS输出链接。为便于访问,可以手动修改链接名称,点击“Change file name”,修改为“mcgeek”,访问时,只需输入http://www.feed43.com/mcgeek.xml即可。
Step 3 合纵人人为我
合纵术又名RSS聚合,可以将多个RSS聚合在同一个页面,比如谷歌Reader就是这么一个工具。Feed43可以在一个页面中显示自己抓取的页面RSS,但要聚合其他RSS,还只能使用第三方工具。《Geek》推荐xfruits,性能十分强大,而且界面美观,并支持R S S到各种媒体的转换,基本一站可打遍天下。欲知详情,请移步www.xfruits.com。
本教程仅供学习、交流之用,未经允许抓取其他网页内容并作为商业用途,并因此产生的法律风险与本人无关。不过欢迎诸位都来抓取mcgeek的内容,虽然我们也提供RSS输出,不过烧出来的味道还是很不一样滴。
……
关注读览天下微信,
100万篇深度好文,
等你来看……