当前位置: 网学 > 编程文档 > ASP > 正文

帮你打造属于自己的搜索引擎---百度篇

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/17

【编者按】:网学asp为您提供帮你打造属于自己的搜索引擎---百度篇参考,解决您在帮你打造属于自己的搜索引擎---百度篇学习中工作中的难题,参考学习

想拥有属于自己的搜索引擎吗?采用目前流行的数据采集方法,你就可以立即拥有。下面就教你一步步地去实现。

一、认识百度搜索

百度搜索,全球最大中文搜索引擎,2005年8月5日在美国纳斯达克上市交易,目前是国内用户使用率最高的搜索引擎,提供网页、新闻、图片、音乐、地图等各种搜索

1、百度网页搜索的查询参数

必备参数

☆ wd--查询的关键词(Keyword)
☆ pn--显示结果的页数(Page Number)
☆ cl--搜索类型(Class),cl=3为网页搜索

可选参数
☆ rn--搜索结果显示条数(Record Number),取值范围在10--100条之间,缺省设置rn=10
☆ ie--查询输入文字的编码(Input Encoding),缺省设置ie=gb2312,即为简体中文
☆ tn--提交搜索请求的来源站点
几个有用的tn
tn=baidulocal 表示百度站内搜索,返回的结果很干净,无广告干扰。比如,在百度站内搜索"快乐",看看返回结果是不是很清爽。
tn=baiducnnic 想把百度放在框架中吗?试试这个参数就可以了,是百度为Cnnic定制的

☆ si--在限定的域名中搜索,比如想在新浪的站内搜索可使用参数si=sina.com.cn,要使这个参数有效必须结合ct参数一起使用。

☆ ct--此参数的值一般是一串数字,估计应该是搜索请求的验证码

si和ct参数结合使用,比如在sina.com.cn中搜索"理想",可用:http://www.baidu.com/baidu?ie=utf-8&am ... n&cl=3&word=理想

☆ bs--上一次搜索的关键词(Before Search),估计与相关搜索有关

2、百度搜索结果页面结构

按源代码结构自上而下为:

搜索框
右侧的火爆地带固定排名
搜索结果
分页区
相关搜索
底部搜索框
版权区

其中"搜索结果、分页区"这两部分就是我们需要的有效数据,根据其代码结果可以发现其唯一的字符串标识,通过这个标识截取内容就可以了,具体看后面的代码。

二、核心函数--使用asp的xmlhttp组件

数据采集程序,俗称小偷程序,其核心部分就是这个xmlhttp组件,用xmlhttp采集数据有些老生常谈了,网上资料也不少,一般的采集代码都是

set http=Server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false ''打开xmlhttp
Http.send() ''发送请求
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312") ''返回结果(一般是字节流),并将字节流转换为字符串
set http=nothing ''释放xmlhttp

详细应用见下面的完整代码

三、完整代码(文件名:searchi_bd.asp)

<%
option explicit
Dim wd,pn
wd = Request("wd")
pn = Request.QueryString("pn")
''开始错误处理
On Error Resume Next
If Err.Number <> 0 Then
Response.Clear
''显示错误信息给用户
Response.Write "<p align=''center'' ><font size=3> 出错了,请重新打开百度搜索.</font></p>"
end if
%>
<HTML>
<HEAD>
<TITLE>百度搜索--<%=wd%></TITLE>
</HEAD>
<STYLE type=text/css>
<!--
body,td{font-family:arial}
TD{FONT-SIZE:9pt;LINE-HEIGHT:18px}
.cred{color:#FF0000}
//-->
</STYLE>

<BODY leftmargin="0" topmargin="3" marginwidth="0" marginheight="0">
<table align="center" width="98%" cellspacing="0" cellpadding="0" border="0" bgcolor="#ffffff" >
<tr>
<form name="f1" method="post" action="searchi_bd.asp">
<td width=150 height=50>
你的LOGO
</td>
<td align="left">
<input name=wd size="40" maxlength="100" title="输入关键字,然后Let''s Searching..." value="<%=wd%>">
<input type="submit" value=" 百度搜索 ">
</td></form>
  • 上一篇资讯: 一个防止被采集的方法
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号