感悟网 导航

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

作者&投稿:勇冒 (若有异议请与网页底部的电邮联系)
asp.net 网页中实现关键字高亮~

什么控件无所谓,主要是自己可以定义一个高亮显示的方法。
这是我做的一个用来显示搜索关键字高亮显示的方法。
public string ReplaceLike(string Cent, string Like)
{
return Regex.Replace(Cent, "(.*?)(.{0,10})" + Like + "(.{0,10})(.*)", "$2" + Like + "$3");
}
其中Cent可以用你的S1表示,Like可以用你的S2表示。主要是改变字体颜色与字号,可根据自己需求调整。

在数据库添加一个标签表;
添加文章的时候,可以选择输入标签,然后把填写的标签插入到数据库里面,
前台显示的时候,读取标签表里面的部分标签
(根据你的要求来,比如热度最高的30个,
或者分类相关的10个,这些在你创建标签表的时候,增加相对于的字段。

读取标签之后,标签对应的链接,可以做成搜索结果链接。
比如百度的是这样的
https://www.baidu.com/s?ie=UTF-8&wd=%E6%A0%87%E7%AD%BE

本人以前是做过一些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的。

利用webrequest获取网页内容,并查找相关字段.但需要强大的群集服务器

首先需要一个服务器就叫它搜索服务器吧
然后需要采集数据 把数据载入服务器里
这里面包含很多技术 比如搜索效率

《asp.net如何获得关键字相关的网页》
答:1. 如果一个站,连到它的都是大网站(如Sun, Microsoft等),那这个网站的分数一定很高,就更有几率在所在其所相关的关键词中搜索出来。如果有成千上万的网站到这个网站,那么说明他是官方像Sun, Microsoft的网站!2. 如果一个站,内容(也就是大面积的文字)是最原创唯一的,那么,分数就高。有...

《asp.net,C#提取关键字》
答:1、直接查找啊 或者indexOf() // 此方法能实现,估计麻烦 2、根据&符号,把split 成数组,再到json ,然后再操作

《Asp.net怎么用like关键字实现简单的站内搜索??》
答:回答:库中要存信息的关键字, 每条可被搜索的信息都加一个关键字字段, like这个字段即可。

《ASP.NET(C#)关键字查询问题》
答:1、在后台执行查询 select * from table_name where 酒店名称=Textbox里的内容 2、把得到的结果重新绑定gridview

《ASP.net(vb.net)用gridview显示关键字查询内容》
答:可以这样做啊。button单击事件里边获取textbox的值,传回到数据库 sql语句如下 select from 表名 where 匹配的列 like '%参数%'得到的结果就是包含查询内容的所有结果了

《ASP.net(vb)用gridview显示关键字查询内容》
答:用SQL语句查询!

《asp.net动态改变网站内页中的关键字和网页描述!》
答:从你内页所要显示的内容中提取关键字(可以用自定义函数来实现,也可以直接把内页的标题等作为关键字),然后便可以如<%=Recordset.Fields.Item("关键字字段名").Value%>,这种做法只需要在数据库中内页信息库中添加一个关键字字段,当信息录入时就把该条信息的关键字记录下来。当然,也可以对该字段...

《在ASP.NET里用C#写,在新闻发布系统里通过关键字搜索新闻信息,该怎么做...》
答:在GRIDVIEW里添加一列选择列,在SelectedIndexChanged事件下写 TextBox.Text=GridView1.SelectedRow.Cells[你要显示在TextBox里的单元格的下标].Text;我也是刚刚查的,不知道能不能帮上忙,我是菜鸟

《Asp.net怎么用like关键字实现简单的站内搜索??》
答:all 连起来。因为你要查几个表。select col1 as 1 ,col2 as 2, 'aaaaaa' as 3 from t1 where '''union all select Bcol1 as 1 ,Bcol2 as 2, 'aaaaaa' as 3 from t2 where ''可以多联几个表,看你想查哪些都可以 'aaaaa' 表示如果 前台想点查看 跳转的url....

《asp.net中ComboBox下拉控件怎么做一个关键字匹配,像百度那一样,打一...》
答:正常情况下是做了个异步。 ajax用你输入的关键字去数据库进行匹配然后返回一个结果集。

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网