摘要: 这几天要做一下网站提取关键词的功能,开始想着使用中文分词的方法来做,后来又想使用DFA算法来匹配,但到最后一想,针对小型网站,关键词相对比较固定,只要建立好字典,主要就是使用字典进行匹配,只要关键词在标题、正文中出现,就可以进行设置。当然,其中还会涉及到权重、...
这几天要做一下网站提取关键词的功能,开始想着使用中文分词的方法来做,后来又想使用DFA算法来匹配,但到最后一想,针对小型网站,关键词相对比较固定,只要建立好字典,主要就是使用字典进行匹配,只要关键词在标题、正文中出现,就可以进行设置。当然,其中还会涉及到权重、次数等细节问题。
使用的是Python 来写,原想自己写算法,来统计子字符串在另一个字符串中出现次数,后来想先查一下吧,于是查到了几种编程语言实现的代码:
-
C/C++版本
-
http://blog.csdn.net/loongsking/article/details/8474828
-
VB:
-
http://zy.anjian.com/?action-viewthread-tid-220050
-
SQL
-
http://www.cnblogs.com/oec2003/archive/2008/08/06/1261611.html
-
Javascript
-
http://www.2cto.com/kf/201202/121035.html
-
PHP
- http://www.hongyanliren.com/2014m03/4972.html
最后是 Python的,非常简单:
<pre class="brush:py"> In [1]: par = ''' ...: OSGeo是全球性非营利性组织, 目标是支持全球性的合作,建立和推广高品质的空间信息开源软件。 OSGeo中国中心由中国科学院东北地理与农业生态研究所负责技术维护, 其使命是帮助中国地区的用户和开发者更好地使用OSGeo基金会提供的源代码、 产品及服务。 ...: 开放地理空间实验室 ...: OSGeo中国中心网站由 “开放地理空间实验室” 负责维护。 实验室配备了专业相关的硬件与软件, 进行开源GIS的应用与演示,深入进行科学研究。 为OSGeo相关软件与数据在中国的应用提供示范, 建立基于开源GIS平台的应用系统。实验室主要研究方向为: 开源GIS标准研究、开源GIS产业化应用研究、GIS空间分析方法研究。''' In [2]: testr = '开放' In [3]: count = par.count(testr) In [4]: print(count) 2 </pre>
上面是在Python 3.4中运行的,字符串直接用引号即可。如果在 Python 2.x中,注意字符符的表达形式。