方法2
import Levenshtein
def get_equal_rate(str1, str2):
return Levenshtein.ratio(str1, str2)
下面两个方法效果都不好:
difflib.SequenceMatcher(None, str1, str2).quick_ratio() 精度低
difflib.SequenceMatcher(None, str1, str2).ratio() 精度高点
import difflib
url1="http://service.library.mtime.com/Movie.api?Ajax_CallBack=true&Ajax_CallBackType=Mtime.Library.Services&Ajax_CallBackMethod=GetMovieOverviewRating&Ajax_CrossDomain=1&Ajax_RequestUrl=http%3A%2F%2Fmovie.mtime.com%2F232316%2F&t=20185259461767462&Ajax_CallBackArgument0=232316"
url2="http://service.library.mtime.com/Movie.api?Ajax_CallBack=true&Ajax_CallBackType=Mtime.Library.Services&Ajax_CallBackMethod=GetMovieOverViewRating&Ajax_CrossDomain=1&Ajax_RequestUrl=http%3A%2F%2Fmovie.mtime.com%2F233465%2F&t=2018525956832821&Ajax_CallBackArgument0=233465"
d=difflib.Differ()
diff=d.compare(url1.splitlines(),url2.splitlines())
print '\n'.join(list(diff))
比较两个字符串相似度:
import difflib
#判断相似度的方法,用到了difflib库
def get_equal_rate_1(str1, str2):
return difflib.SequenceMatcher(None, str1, str2).quick_ratio()