在其他情况下,它与比较参考数字一样简单,但报纸文章没有任何参考编号。我想知道是否可以使用pythons hash()函数对标题进行散列,并将结果值用作实际参考号的替代值,仅用于比较目的?
从表面上看似乎可能,但你们有什么想法?
答案 0 :(得分:2)
是的,你可以这样做,但是我没有使用hash()
,因为hash()
针对不同的任务进行了优化,并且很容易导致较大文本上的冲突(不同输入导致相同的哈希值。)
使用cryptographic hashing scheme代替; hashlib
module使您可以访问MD5和其他算法,并生成不太可能产生冲突的输出。
出于您的目的,MD5会做得很好:
article_hash = hashlib.md5(scraped_info).hexdigest()
这有一个额外的好处,即无论操作系统或系统架构如何,MD5哈希总是会被计算出来; hash()
无法提供此类保证。