asp.net如何获得关键字相关的网页

在ASP.NET中做一个类似于百度的东西,用户输入一个关键字,然后在互联网上查出跟这个关键相关的网页。提供思路也可以。... 在ASP.NET中做一个类似于百度的东西,用户输入一个关键字,然后在互联网上查出跟这个关键相关的网页。提供思路也可以。 展开
 我来答
Edison_SK
2009-05-24 · TA获得超过651个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:220万
展开全部
本人以前是做过一些SEO(也就是提高网站在GOOGLE,百度中提高排名),后来在公司内部做ASP.NET开发。 个人认为这个问题和ASP.NET好像没什么关系,但其实是很复杂,值得研究的一个问题。虽然没有做过搜索引擎,但还是愿意说说个人的意见。

首先,你需要有3种机器(数量上先不提),第一个是像Apache, IIS的网站服务器提供用户搜索的界面,另一个是超级庞大的数据库来提供所有网站的数据,另一种就是最重要的获取信息并处理存入数据库的“引擎”。主要讲讲引擎。

其实这个引擎没有什么特别的是,从最小的IP段,如11.0.0.1一直到最大的IP段如223.99.99.1。当然这里应该只去搜索80端口。如何搜索页面?这里可以用C或JAVA语言原始crawler,这是最著名的了。另外在.NET里可以用强大的WebHttpRequest, WebHttpResponse来读取页面的HTML内容。下面是处理的逻辑。

首先是把网页的的首页HTML读出来,再分析里面的有用信息,最重要的可以说就是<a>和sitemap了,可根据<a>在深入分析其他页面。另外内容很重要,标题<h1><h2>也很重要。当然<meta>的关键字也有点用,但GOOGLE好像对META不感兴趣。这里一定要遵循一些规则(就像google的page rank系统),下面举机个规则的例子:

1. 如果一个站,连到它的都是大网站(如Sun, Microsoft等),那这个网站的分数一定很高,就更有几率在所在其所相关的关键词中搜索出来。如果有成千上万的网站<a>到这个网站,那么说明他是官方像Sun, Microsoft的网站!

2. 如果一个站,内容(也就是大面积的文字)是最原创唯一的,那么,分数就高。有的站,虽然内容不唯一,但出现时间最早,那么分数也高。

3. 如果一个站,内容很多,而且关联性(比如全关于同一个地域、同一个知识)很强,而且必须要在<a>中连接了(不然读不到),那么分数也高。

4. 用GOOGLE举例,GOOGLE有美国、新加坡、中国、印度。那么访问者在不同的地域搜索的网站排名也不同。也就是要记录这个网站的服务器IP是哪个国家、城市的。

5. 重大节日前后,GOOGLE有一轮搜索,能判断这个网站是不是活跃的,从而调整排名。

6.在各个类型的目录网站(website directory,如DimoZ,Yahoo Directory)中,如果一个网站能在大多数目录中找到,那么她的排名也应该高。也就是你要知道所有可信的目录网站,然后查找该目标网站在目录网站有记录。不过这种目录网站恐怕有上万个。

7. 对于进入前100名的特别分析。对于进入前5名的网站,要进行更加特别的分析,包括有没有作弊等。

数据库这要记录其相关的关键词,域名,服务器地点,pagerank等等的信息,很复杂,这里没有像过具体怎么实现。但听说并不是用现在广泛应用的relational database,而是用Full Text search这种方法的数据库。

在Web 2.0盛行的今天,Ajax的动态HTML TAG(如DIV), JavaScript,Flash已经让所搜引擎技术上加大了挑战。说不定,楼主还需要研究一个能分析执行JavaScript变化后的HTML的library。FLASH目前没有任何办法来分析,这也就是Flash那么美但却仅仅能用于小局部设计的原因。

注意,这些功能全是机器智能的,没有人工做任何东西,不能靠人手动删除、添加等!

SEO东西很多。GOOGLE的特别搜索设计最以开始只是2个大学生的想法,没有实现,后来有机会实现真是不容易,而且几年间股票价格、IT界影响力已将超过早GOOGLE搜索几年的YAHOO搜索。当然GOOGLE科学家很多,他们的技术一直在提高!可以看下参考资料,是关于GOOGLE的。

参考资料: http://www.ianrogers.net/google-page-rank/

帐号已注销
2009-05-15 · TA获得超过324个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:0
展开全部
利用webrequest获取网页内容,并查找相关字段.但需要强大的群集服务器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ha...8@163.com
2009-05-15
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
首先需要一个服务器就叫它搜索服务器吧
然后需要采集数据 把数据载入服务器里
这里面包含很多技术 比如搜索效率
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式