快速业务通道

用flash实现基于搜索引擎的搜索 - 本地直接从百度获取LRC歌词

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08
最终页面的超链接。也就是这一段 " <a class=l href="http://www.rixiu.com/fei5/11/1140657ae45bc98.html" target=_blank onmousedown="return clk(0,''res'',''2'','''')">郑源/披着羊皮的狼.LRC 飞舞歌词fei5.com</a><br>" 事实上,我们只要取得这个超链接就可以了:
www.rixiu.com/fei5/11/1140657ae45bc98.html

最终我们将用String的slice方法取得这个字符串,但在取之前我们必须找到字符串开始的位置"http://" 和最后结束的位置 "bc98.html" ,这就要用到String.indexOf()或String.lastIndexOf()方法。在这里,我们使用逆向查找的方法。也就是String.lastIndexOf()。它是从后向前搜索,如果找到,它将返回靠后的那个字符串的位置。参数将指定要搜索的字符串,它还有一个搜索起始位置的参数(在比较高级查找的时候有用),在这里我们只用第一个字符串参数,详细请看看官方帮助文档中的说明:

my_str.lastIndexOf(substring, [startIndex])
参数:
substring 一个整数或字符串,指定要搜索的字符串。
startIndex 一个可选整数,指定搜索 substring 的起始点。
返回:
指定子字符串的最后一个匹配项的位置,或 -1。
说明:
方法;在字符串中从右向左搜索,并返回调用此方法的字符串中在 startIndex 之前找到的 substring 的最后一个匹配项的索引。如果没有找到 substring,则此方法返回 -1。

for (var i = 0; i<linkData.length; i++) {
......
}
对每个区块执行同样的操作。现在我们只看看其中一块的处理。

看看用 "网页快照" ("快照" )截断的方式:
*********************************
</a> -
<a class=fl href="/search?hl=zh-CN&lr=lang_zh-CN&newwindow=1&q=related:www.design-war.com/manage/download_counter.ASP%3Fid%3D2262">类似网页</a></nobr>
<p class=g>
<a class=l href="http://www.rixiu.com/fei5/11/1140657ae45bc98.html" target=_blank onmousedown="return clk(0,''res'',''2'','''')">郑源/披着羊皮的狼.LRC 飞舞歌词fei5.com</a><br>
<font size=-1>郑源/披着羊皮的狼.LRC. <b>...</b> [ti:披着羊皮的狼] [ar:郑源] [al:我最<br>火] [by:fei5.com] [offset:-500] [00:01.00]-披着羊皮的狼- [00:04.00]歌手:郑<br>源[00:08.00]专辑:我最火[00:12.00]词曲:刀郎[00:16.00] <b>...</b><br>
<font color=#008000>
<span dir=ltr>www.rixiu.com/fei5/11/1140657ae45bc98.html</span> - 6k - 补充材料 - </font>
<nobr><a class=fl href="http://72.14.203.104/search?q=cache:jsIjyqajvhcJ:www.rixiu.com/fei5/11/1140657ae45bc98.html+%5Bti:%E6%8A%AB%E7%9D%80%E7%BE%8A%E7%9A%AE%E7%9A%84%E7%8B%BC&hl=zh-CN" target=_blank>网页快照
</font>
*********************************
下面的处理事实上就是一层层剥离数据的过程。

第一句 linkData[i] = linkData[i].slice(0, linkData[i].lastIndexOf("<a")) 的作用是只取上面源代码的一部份用作后面的处理,这样有利于后面的操作和简化你的视野。

选取有特征的字符串在这里很重要。
看看上面的这段代码,关于搜索结果的那一段("<font size=-1>郑源/披着羊皮的狼.LRC......c98.html</span> - 6k")都是不能作为特征进行数据搜索处理的,因为它们会随着搜索结果的不同而改变。所有可用的就是关于超链接的部份(搜索引擎不管如何更改他们的页面,点向最终页面的这个链接始终都是会存在的,随着时间的推移,在很长一段时间内也都是如此,这里有为你考虑到程序的寿命问题,也就

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号