Timewe TM
Wap浏览器
高级搜索

PHP 的搜索引擎技术 - 无线搜索技术 - 无线搜索论坛 自由!开放!专门研究与交流无线搜索(移动搜索/手机搜索/WAP搜索/短信搜索/语音搜索/手机客户端软件搜索/实名/寻址) - Powered by Discuz!

排名

无线搜索论坛
注册 登录 搜索 标签 帮助
无线搜索论坛 无线搜索技术 PHP 的搜索引擎技术
上一主题 下一主题
发新话题
发新话题 发布投票 发布商品 发布悬赏 发布活动 发布辩论 发布视频
打印 PHP 的搜索引擎技术
NapolLee


少校Rank: 10Rank: 10
个人空间 发短消息 加为好友 当前离线
1#大 中小 发表于 2008-1-19 20:55 只看该作者
PHP 的搜索引擎技术
作者:沙雨 来源:互联网  酷勤网收集 2007-11-12
摘要酷勤网  我们可以这样设想:模拟一个查询,向某个搜索引擎网站发出相应格式的搜索命令,然后传回搜索结果,对结果的HTML代码进行分析,剥离多余的字符和代码,最后按所需要的格式显示在我们自己的网站页面里。
  谈到网页搜索引擎时,大多数人都会想到雅虎。的确,雅虎开创了一个互联网络的搜索时代。然而,雅虎目前用于搜索网页的技术却并非该公司原先自己开发的。2000年8月,雅虎采用了Google(www.google.com )这家由斯坦福大学学生创建的风险公司的技术。理由非常简单,Google的搜索引擎比雅虎先前使用的技术能更快、更准确搜索到所需要的信息。
  让我们自己来设计、开发一个强劲、高效的搜索引擎和数据库恐怕短时间内在技术、资金等方面是不可能的,不过,既然雅虎都在使用别人的技术,那么我们是不是也可以使用别人现成的搜索引擎网站呢?
  剖析编程思路
  我们可以这样设想:模拟一个查询,向某个搜索引擎网站发出相应格式的搜索命令,然后传回搜索结果,对结果的HTML代码进行分析,剥离多余的字符和代码,最后按所需要的格式显示在我们自己的网站页面里。
  这样,问题的关键就在于,我们要选定一个搜索信息准确(这样我们的搜索才会更有意义啊)、速度快(因为我们分析搜索结果并显示需要额外的时间),搜索结果简洁(便于进行HTML源代码分析和剥离)的搜索网站,由于新一代搜索引擎Google的各种优良特性,这里我们选择它为例,来看看用PHP怎样实现后台对Google(www.google.com )搜索、前台个性化显示这一过程。
  我们先来看看Google的查询命令的构成。进入www.google.com 网站,在查询栏中输入“abcd”,点击查询按钮,我们可以发现浏览器的地址栏变成:"http://www.google.com/search?q=abcd&btnG=Google%CB%D1%CB%F7&hl=zh-CN&lr=",可见,Google是通过表单的get方式来传递查询参数并递交查询命令的。我们可以使用PHP中的file()函数来模拟这个查询过程。
  了解File()函数
  语法: array file(string filename);
  返回值为数组,将文件全部读入数组变量中。这里的文件可以是本地的,也可以是远程的,远程文件必须指明所使用的协议。例如: result=file(“www.google.com/search?q=a mp;hl=zh-CN&lr= ”),该语句将模拟我们在Google上查询单词“abcd”的过程,并将搜索结果以每行为元素,传回到数组变量 result中。因为这里读取的文件是远程的,所以协议名“http://”不能缺少。
  如果要让用户输入搜索字符进行任意搜索,我们可以做一个输入文本框和提交按钮,并将上文中的被搜索字符“abcd”用变量替换:
echo; //没有参数的form,默认提交方式为get,提交到本身
echo ; //构造一个文本输入框
echo ; //构造一个提交查询按钮
echo ;
if (isset( keywords)) //提交后PHP会生成变量 kwywords,即要求下面的程序在提交后运行
{urlencode( keywords); //对用户输入内容进行URL编码
result=file("http://www.google.com/search?q=". keywords."&btnG=Google%CB%D1%CB%F7&hl=zh-CN&lr=");
//对查询语句进行变量替换,将查询结果保存在数组变量 result中
result_string=join(" ", result); //将数组$result合并成字符串,各数组元素之间用空格粘和 //进一步处理
} ?>   上面的这段程序已经能按用户输入内容进行查询,并将返回的结果合成一个字符串变量$result_string。请注意要使用urlencode()函数将用户输入内容进行URL编码,才可以正常地对输入的汉字、空格以及其他特殊字符进行查询,这样做也是尽可能逼真地模拟Google的查询命令,保证搜索结果的正确性。
  对Google的分析
  为了便于理解,现在假设我们所真正需要的东西是:搜索结果的标题。网址和简介等,这是一个简洁而典型的需求。这样,我们所要做的便是:去除Google搜索结果的台头和脚注,包括一个Google的标志、再次搜索的输入框和搜索结果说明等,并且在剩余的搜索结果各项条目中剥离原来的HTML格式标记,替换成我们想要的格式。
  要做到这一点,我们必须仔细地分析Google搜索结果的HTML源码,找到其中的规律。不难发现,在Google的搜索结果的正文总是包含在源码的第一个
标记和倒数第二个
  标记之间,并且倒数第二个
  标记后紧跟table字符,而且这个组合“
  以下所有程序均依次接续在上文程序的“进一步处理”处。
  result_string = strstr( result_string, "
"); //取 result_string从第一个
开始后的字符串,以去除Google台头
position= strpos( result_string,"
table符号的位置
result_string= substr( result_string,0, position);//截取第一个
table符号之前的字符串,以去除脚注
  应用与实现
  OK,现在我们已经得到有用的HTML源码主干了,剩下的问题是如何自主地显示这些内容。我们再分析一下这些搜索结果条目,发现每个条目之间也是很有规律的用
分隔,也就是各成一个段落,按这个特点我们用explode()函数把每个条目切开:
  语法:explode(string separator, string string);
  返回一个数组,按separator切开后的各个小字串被保存在数组中。
  于是:
result_array=explode("
", result_string); //用字串"
"把结果切开
  我们就得到一个数组 result_array,其中每个元素都是一个搜索结果条目。我们所要做的仅仅是研究每个条目及其HTML显示格式代码,然后按要求替换就行了。下面用循环来处理 result_array中的每个条目。 for( i=0; i { //处理每个条目 }
  对于每个条目,我们也很容易找到一些特点:每个条目都由标题、摘要、简介、类别、网址等组成,每个部分都换行,即包含
标记,于是再次分割:(以下处理程序放在上文的循环中)
every_item=explode("
", result_array[ i]);
  这样我们得到一个数组 every_item,其中 every_item[0]就是标题, every_item[1]和 every_item[2]两行为摘要, every_item[3]和 every_item[4]等等的头部如果包含“简介:”、“< font size=-1 color=#6f6f6f>类别:< /font>”字符,则是简介或类别(因为有的结果条目没有该项),如果头部包含“< font color=green>”则肯定就是网址啦,这种对比判断我们常使用正则表达式(略),如果要替换也很方便,比如包含标题的$every_item[0],其本身是有链接的,我们希望修改这个链接属性,让它在新窗口打开链接: echo eregi_replace( {
//处理每个条目中除去第一项(第一项为标题,已经显示)的每一项
//更多格式修改
}  这样就修改了链接属性,其余很多显示格式的修改、剥离、替换都能用正则替换eregi_replace()来完成。
  至此我们已经得到了每个搜索条目的每一项,并能任意修改每项的格式,甚至可以给他套上漂亮的表格。然而一个好的程序应该能适应各种运行环境的,这里也不例外,我们其实还只是讨论了搜索结果的HTML剥离的一种框架方法,真正要做得完美,还要考虑很多内容,比如要显示一共搜索出多少结果,分成多少页等等,甚至还可以刨除与Google相关的那些“类别”、“简介”等代码,让客户根本看不到原始网站。不过这些内容和要求我们都能通过分析HTML进行剥离得到。现在大家完全能自己动手,做个极富个性化的搜索引擎啦。
QQ
UID793 帖子638 精华9 积分3906 财富12478 贡献1264 威望13 阅读权限10 性别男 来自广东 在线时间126 小时 注册时间2007-10-6 最后登录2008-10-4
查看详细资料
TOP 柳依依


新兵Rank: 1
个人空间 发短消息 加为好友 当前离线
2#大 中小 发表于 2008-11-1 00:26 只看该作者
楼主,加我为好友可以吗?
呵呵。不错的文章!
希望您有空看看我的网站,给我增加一个IP,谢谢。
提供uusee下载卡巴斯基下载 。我喜欢dhc化妆品 ,我经常用苏州国际快递 来卓越网买DHC化妆品。卓越网 提供大量低折卓越网图书,免收快递费用。
QQ
UID1609 帖子5 精华 积分16 财富60 贡献5 威望0 阅读权限1 性别女 在线时间0 小时 注册时间2008-6-1 最后登录2008-11-19
查看个人网站
查看详细资料
TOP lx800258yc


老兵Rank: 2Rank: 2
个人空间 发短消息 加为好友 当前离线
3#大 中小 发表于 2008-12-19 05:47 只看该作者
暴牙矫正隐形矫正器 www.800258.com
[新起点牙齿畸型矫正器 轻松隐形矫正各种-暴牙|夜间磨牙|打呼噜|地包天|牙齿排列不齐|深覆合深覆盖|咬合不齐|等牙齿常见症状!适合成年牙齿矫正--青年牙齿矫正—儿童牙齿矫正适合3种不同的年龄生长阶段]
爱美是人的天性,每个人都希望自己笑起来自然而又充满魅力。但有许多朋友却因为牙齿长得不够整齐,而对自己的笑容缺乏自信。现在,给牙齿做美容已经成为一种时尚!你是否向往一口整齐健康的牙齿呢?或者你为此作了很多努力,结果是很失望甚至让你感到很痛苦呢?

现在,先进的科技让你再也不用为此而烦恼了。最常见且有效的牙齿整形的方法可能就是到正规的医院或牙科诊所里面做牙齿正畸手术了,但是几千元甚至高至万元,高昂的治疗费用常常使我们望而却步,除此之外还要定期去牙科诊所复诊,两年左右每天佩戴“铁齿铜牙”的日子感觉起来也异常的恐怖。那么有没有一种方便可靠的方案,既能保证得到专业的牙齿整形效果,又简单方便且不影响正常的交际生活呢?
这里给大家介绍拥有国家专利的新起点纠我系列牙齿畸型矫正器,产品有3种规格,分别适用于 [儿童6-12岁青年12-18岁—成年18岁以上],三种规格产品 .

●适用对象:1.暴牙矫正 2.防夜间磨牙矫正 3.地包天牙齿矫正 4.牙缝过大矫正 5.打呼噜矫正 6.普通牙齿畸形矫正 7.咬合矫正 8.恒牙列牙颌-畸形的矫正
它是国内唯一荣获专利的新起点牙齿畸型矫正器矫治系列之一,是由国内资深牙科专家,医师于2008 年,应用计算机并结合自己大量的正畸临床工作设计出矫治系统,通过临床应用取得很好的疗效。该系列产品已获得国 家专利(专利号200720089441.9),并已在国内被广泛应用。该系统包括深反合畸形矫正器和深覆合深覆盖畸形矫正器等矫治装置。牙颌畸形的因为工作及对美观的要求,往往不能接受固定矫治"铁齿钢牙"的形象,同时又要求矫治不能影响其发音,不被人看见. 因此,95系列不失为一种良好的解决方法新起点牙齿畸型矫正器戴着时间比较灵活,基本不影响工作和生活.每天只需戴10小时,(白天1-2小时 +睡眠时间)新起点牙齿畸型矫正器--适用于年轻恒牙的轻度牙齿不齐,及不愿戴固定矫治器的大龄患者.主要用于恒牙列期的轻度错颌畸形,破除各种不良习惯等。它既具有机械性矫治器的功能,又具有功能性矫治器的作用,既是肌功能训练器 ,又是保持器,集多种功能于一体。
优点:
1、简单实用,方便省事。避免了弓丝矫治的烦恼和不便。
2、特别适用于无法或不能接受弓丝矫治的人群,不损害牙体和口腔软组织。
3、该矫治器选用具有很强记忆功能的高弹性、无副作用、无异味、性能稳定的高科技材料精制而成。
●新起点牙齿畸型矫正器的设计特点:
①理想的牙弓轨道
②力量适中的加力唇弓
③避免舌尖作用与牙齿上而引起错牙合的舌尖诱导装置
④限制舌体前伸改变口呼吸的舌挡
⑤减缓颏肌收缩的唇档
⑥中性颌位的定位装置
矫正器根据成年(A型-18岁以上),青年B型(12-18岁),儿童C型(6-12岁)三个不同的成长阶段所设计,适用不同的年 龄阶层配带,矫正器的大小外型也是各不相同的,A型比B型稍长,B型比C型稍长,仔细对比如下图:

●新起点牙齿畸型矫正器系列的优势:
①由国内资深牙科专家结合多年牙齿矫正经验,符合中国人的体质。
②借鉴了澳大利亚T4A矫正系统的一些优点,并在此基础上加以改造设计,使之更符合患者,符合各种年龄阶层的需要。
③我们是国内唯一生产厂家,每一件产品都经过我们的检测,保证每个产品安全有效。
新起点畸型矫正器视频使用说明介绍:www.800258.com/trends.asp?id=118 (请复制到地址栏打开)
疑难解答:
这种牙套到底怎么样?它对纠正牙齿形状真的有效么?本品在国内荣获专利,有专利证书。它简单实用,被用来帮助纠正那些“导致咬合不正和有TMJ问题的肌肉功能习惯”。
佩戴这种牙套有任何副作用吗?所用的产品是否得到正规部门的 认证?到目前为止还没有任何关于新起点牙齿畸型矫正器副作用的报导。作为一种非常有韧性的牙科器具,用来训练并重塑肌肉组织和呼吸模式,不存在任何副作用。
这种牙套一般要佩戴多长时间才能达到预期的效果?如果有比如说严重的磨牙症,是不是需要多个牙套才行?一般建议佩戴这种牙套一个疗程的时间为6~8个月。
怎样才能保持获得的结果而确保不反弹?一旦坏的口腔习惯被纠正后,它们一般都会自然形成良好的习惯而不会反弹。这是由于我们每天都会有超过2000次以上的吞咽活动,无论什么习惯出现后,都会被不断的加强而形成更加稳定的定式。
这种牙套平时怎么做清洁护理,多长时间做一次?在每次使用牙套前放在热水里面过一下即可。 如果有需要,使用牙刷和牙膏进行刷洗也可以。放在开水里面煮也是没有问题的,但是真的没有那个必要。
佩戴牙套治疗会痛吗?不会。有些人在刚开始几天会经历一个敏感期,过后通 常不会有什么疼痛的感觉。
每天应该带多长时间呢,白天带几个小时?一般要求白天带1~2小时,晚上带8小时。但并没有严 格的限定。一般白天至少要佩戴一个小时,主要是有意识的训练舌头放置的位置,保持嘴唇闭合,并通过鼻孔呼吸。晚上睡觉时整晚佩戴。
什么是口腔正畸?口腔正畸通俗的讲,就是将不整齐的牙齿排列整齐。我们的矫治目标是美观、 健康、功能、稳定。美观,就是将排列紊乱的牙齿矫正整齐,改善你的颜面侧貌,让你拥有美丽的笑容。
哪些人可以进行正畸治疗?儿童和都可以进行正畸治疗。通过正畸治疗不仅让您拥有一个迷人的笑容,而且可以防止牙龈萎缩、 流血、牙齿松动、早失等疾病的发生。因为牙齿排列紊乱是这些疾病的重要病因。
什么时候进行正畸治疗?有一些牙颌畸形需要早期进行治疗(3~5岁),如 “ 地包天 ” 、 咬唇、吮指等不良习惯。但儿童一般的牙颌畸形在恒牙已经开始萌出的时候(8~10岁),到正畸医生处作咨询、检查为宜。因为此时可以早期、定期观察儿童恒牙萌出过程,及时发现、解决问题。
新起点牙齿畸型矫正器激光防伪标签:

新起点牙齿畸型矫正 器正品整套包装清单:新起点外包装盒,矫正套,矫正套包装壳(壳上有新起点激光防伪标签)。目前市场上流通有所谓同类牙齿矫正器--价格低廉,包装简单,有的甚至连包装盒都没有,矫正套做工粗躁,记忆弹性极差,所采用的是劣质材料所造,产品不仅起不到矫正的效果,而且此种材料是否对身体造成损害,有没 有严格的卫生认证,我们无从可知, 切记病从口入!所以请朋友们购买时一定要注意这一点!
新起点医疗官网 http://www.800258.com
唯一指定咨询QQ: 974936279
EmaiL(咨询邮箱) :yc800258@sina.com
咨询电话: 0771-3971402
FAX(传真)0771-3971403
★★★★★★★★★★★★★★★★★★★★★★★★★★★此广告由38528 菅销网 代发!本公司专业为企业提供网站优化,论坛群发|邮箱群发|商务网站广告代发! 咨询Q Q: 594068857 网站http://www.38528.com★★★★★★
QQ
UID2038 帖子11 精华 积分34 财富120 贡献11 威望0 阅读权限2 在线时间0 小时 注册时间2008-11-26 最后登录2008-12-21
查看个人网站
查看详细资料
TOP passting169


老兵Rank: 2Rank: 2
个人空间 发短消息 加为好友 当前离线
4#大 中小 发表于 2008-12-22 03:57 只看该作者
的秘密
泰国吃什么来维持女性特征?圣荷野葛根 提炼而成丰胸产品 是少不了的.
QQ
UID2149 帖子14 精华 积分43 财富150 贡献14 威望0 阅读权限2 性别男 在线时间0 小时 注册时间2008-12-16 最后登录2009-1-9
查看详细资料
TOP 上一主题 下一主题
发新话题
控制面板首页 编辑个人资料 积分记录 公众用户组 升级个人空间
当前时区 GMT+8, 现在时间是 2009-1-9 19:14 粤ICP备07021541号
清除 Cookies - 联系我们 - 无线搜索论坛 - Archiver - WAP - TOP
Discuz!
Powered by Discuz! 6.0.0 (C) 2001-2007 Comsenz Inc.
内页
内页 内页

直接浏览

提示:以上根据您的指令使用Timewe浏览服务访问的www.wxss.org网站,其内容、服务或立场跟Timewe无关 ...
欢迎举报存在违法、不良信息的网站,净化网络环境

Wap推荐: 极品游戏大作


高级搜索

返回主页 加入Timewe 我的地盘 反馈意见 关于我们 最新动态 联系我们 加入收藏

各主流搜索引擎收录Timewe

免费wap搜索引擎 wap分类网址 wap百强 wap排名 无线周刊 企业搜索 wap浏览器 wap公社
不需下载、不用安装、没有插件,Timewe在线浏览服务助您轻松浏览Wap/WEB/RSS/ATOM/RDF/OPML!

http://timewe.net手机电脑同步服务
(C)2003-2009 Timewe