提取关键字的算法-织梦企业模板-站长建站的模板站
Website Home
选择关键字的一个重要的技巧是选取那些常为人们在搜索时所用到的关键字Kitsune协助你从好几个搜索模块中提取URL详细地址。该计划方案可以与此同时应用好几个搜索模块,便于为您给予多种多样結果。从目录中有超出30选择项,客户可以挑选搜索模块。“配备”对话框,您可以选用的客户代理商开展搜索和結果种类,以提升您的搜索。关键字提取URL连接关键字提取URL链接(Kitsune)特点1、翠绿色精巧,简易实用。2、此次一键采集,采集十分便捷。3、协助你更快获得包括关键词的有关网站域名。4、设定任意间隔时间,防百度搜索检验。5、适用去重,可以除掉反复的URL网站域名。6、数据信息可以储存,使用方便。关键字提取URL连接(Kitsune)使用方法1.打开软件,键入在关键词框输入有关关键词,留意每过关键词为一行,不必连续一块,要不然会搜索不正确.搜索的关键词不必带空白行。2设定采集的页码提议50也以内就可以。3.任意间隔时间,避免百度搜索检验到手机软件全自动搜索。升级日志(2020.04.08)1、提升关键点问题2、健全作用<summary>///SQL关键字转换器///</summary>publicclassSqlConverter:IKeywordsConvertible{publicSqlConverter(string[]keywords){Keywords=keywords;}publicSqlConverter(){}///<summary>///关键字集合///</summary>publicstring[]Keywords{get{returnkeywords;}set{this.keywords=newstring[value.Length];for(inti=0;i<value.Length;i++){this.keywords[i]=value[i].ToLower();}}}privatestring[]keywords;///<summary>///字符缓冲区///</summary>privateStringBuildercharBuilder=newStringBuilder();///<summary>///符号缓冲区///</summary>privateStringBuildersymboBuilder=newStringBuilder();///<summary>///结果缓冲区///</summary>privateStringBuilderresBuilder=newStringBuilder();///<summary>///上一个字符是否是字母///</summary>privateboollastIsLetter;///<summary>///临时变量///</summary>privatestringtemp;///<summary>///转换///</summary>///<paramname=source>要转换的字符串</param>///<returns>转换结果</returns>publicstringConvert(stringsource){charBuilder.Clear();symboBuilder.Clear();resBuilder.Clear();lastIsLetter=true;temp=string.Empty;//打散源字符串char[]charArray=source.ToArray<char>();//遍历foreach(varcincharArray){if((c>=‘a‘&&c<=‘z‘)||(c>=‘A‘&&c<=‘Z‘)){//如果上一个符号不是字母,就把符号缓冲区推送if(!lastIsLetter){PushSymbols();}charBuilder.Append(c);lastIsLetter=true;}else{//如果上一个符号是字母,就把字母缓冲区推送if(lastIsLetter){PushLetters();}symboBuilder.Append(c);lastIsLetter=false;}}//处理最后一个缓冲区if(lastIsLetter){PushLetters();}else{PushSymbols();}returnresBuilder.ToString();}///<summary>///将字符缓冲区推送至目标缓冲区///</summary>privatevoidPushLetters(){temp=charBuilder.ToString();if(Keywords.Contains(temp.ToLower())){resBuilder.Append(temp.ToUpper());}else{resBuilder.Append(temp);}charBuilder.Clear();}///<summary>///将符号缓冲区推送至目标缓冲区///</summary>privatevoidPushSymbols(){resBuilder.Append(symboBuilder.ToString());symboBuilder.Clear();}}ViewCode2原理第一步:将一个SQL语句字符串拆开来,拆成字符串-符号串-字符串-符号串-符号串-字符串这样第二步:然后判断字符串是不是关键字,是的话就转成大写第三部:再将这些串拼起来3实现原理看似很简单,但实现却不简单。要处理两个问题1不可能全转换之后再处理拼接,所以必须边拼接边转换2状态切换,什么时候推送实现步骤1源串打碎成char数组2拼接重点是判断如何确定字母和符号状态,以及在状态切换至将缓冲区推送。详情看代码3最后要再做一次,因为遍历之后最后一个串没有机会被推送4使用效果5后记最近公司修改了SQL规范,要求SQL关键字大写,诶,我写了那么多没上线,都要改。作为一个程序员,这肯定是可以用代码来干的啊。于是,我动手百度!对我没有自己写,我懒。百到了一个工具,为了安全起见,我反编译了工具,看了看代码。没危险。但是啊,看不懂,功能倒是实现了。于是我就先用着把我的SQL都改了。但是我觉得,我看不懂啊,没学到。我想自己去实现!于是随后的几天我开始思索如何来将SQL关键字变大写,又不会影响其他的部分,包括回车换行这些不可见符号(就是不能用不可见符号做分割,因为如果有相连的不可符号,切割之后会丢失)。在公司的年会上我终于想到了,看着我身旁的妹子们(我同事),诶亚,好激动。利用闲暇时间,写了这个,独立的思考没有参考我找的的工具的代码。核心算法发出来,一起学习与交流。SQL关键字转换大写核心算法实现需求:做SEO的keywords时,需要从标题或者正文里提取关键字1.PHPAnalysis下载地址下载后解压放到extend目录下(以tp5为例,其他目录也行)2.封装<php/***@auther:xxf*Date:2019/8/19*Time:11:04*/namespaceWordAnalysis;/***中文分词提取关键字*/classAnalysis{/***Notes:关键字提取*@auther:xxf*Date:2019/8/19*Time:11:09*@paramstring$content*@paramint$num获取数量*@returnstring*/publicstaticfunctiongetKeywords($content=""$num=3){if(empty($content)){return''}require_once'phpanalysis.class.php'PhpAnalysis:$loadInit=false;$pa=newPhpAnalysis('utf-8''utf-8'false);$pa->LoadDict();$pa->SetSource($content);$pa->StartAnalysis(true);$tags=$pa->GetFinallyKeywords($num);//获取文章中的n个关键字return$tags;//返回关键字}}3.使用$data['seo']['keyword']=Analysis:getKeywords($article_info['title']);