python利用difflib判断两个字符串的类似度

咱们再工做中可能会遇到须要判断两个字符串有多少类似度的状况(好比抓取页面内容存入数据库,若是类似度大于70%则断定为同一片文章,则不录入数据库)python

那这个时候,咱们应该怎么判断呢?数据库

不要着急,python自带的difflib库就能够帮助咱们解决这个问题。ui

首先,difflib是python自带的,因此不须要安装,直接引用便可。spa

活很少少,直接上代码3d

  代码以下:code

  

import difflib

#判断类似度的方法,用到了difflib库
def get_equal_rate_1(str1, str2):
   return difflib.SequenceMatcher(None, str1, str2).quick_ratio()

#执行方法进行验证
if __name__ == '__main__':
   a = '任正非称,对华为不会出现“断供”这种极端状况,咱们已经作好准备了。任正非称,今年春节时,咱们判断出现这种状况是2年之后。\
   我还有两年时间去足够足够准备了。孟晚舟事件时咱们认为这个时间提早了,咱们春节都在加班。保安、清洁工、服务人员,春节期间有5000人\
   都在加班,加倍工资都在供应咱们的战士战斗,你们都在抢时间。(新浪科技)'
   b = ' 任正非称,对华为不会出现“断供”这种极端状况,咱们已经作好准备了。任正非称,今年春节时,咱们判断出现这种状况是2年之后。\
   我还有两年时间去足够足够准备了。孟晚舟事件时咱们认为这个时间提早了,咱们春节都在加班。保安、清洁工、服务人员,春节期间有5000人\
   都在加班,加倍工资都在供应咱们的战士战斗,你们都在抢时间。'
   print(get_equal_rate_1(a, b))

 

  结果为:blog

  能够看到,这两个字符串的形似度为0.978... ...很明显是同一片文章。事件

  经过difflib库,咱们就完成了两个字符串类似度的计算,哈哈,简单吧!字符串

  但愿能帮到须要的人。get

相关文章
相关标签/搜索