python3 TypeError:Unicode-objects must be encode before hashing

python3环境下,利用hash值对url进行 md5加密,时报错TypeError:Unicode-objects must be encode before hashing

原因是:

python3跟python2区别:python3下字符串为Unicode类型,而hash传递时需要的是utf-8类型,因此,需要类型转换

调用函数时,将url进行类型转换

def get_md5(url):

m = hashlib.md5()

m.update(url)

return m.hexdigest()


if __name__ =='__main__':

print(get_md5("http://jobbole.com".encode("utf-8"))) 

你可能感兴趣的:(爬虫)