为获取的网页创建校验和

时间:2013-06-18 02:17:08

标签: python

我正在使用python 2.7并使用requests来获取网页。

我想知道获取的对象是否已更改。

r = requests.get(url,headers=None,proxies=None,timeout=int(parms['timeout']))
html = r.text

if checksum(html)!=checksum_last: 
   then do something
else:
    do nothing

我将校验和保存在数据库中。如何创建校验和?

由于

2 个答案:

答案 0 :(得分:5)

正如Jon Clements所提到的,您可以使用hashlib模块:

>>> import requests
>>> import hashlib
>>> page = requests.get('http://www.stackoverflow.com')
>>> hashlib.sha256(page.text.encode('utf-8')).hexdigest()
'807ea5e7c419aefc7a40ba1140ba6ef4001c60f3c21142eb743bc1d393c1bb62'
>>> 

答案 1 :(得分:2)

假设您不需要加密哈希函数,可以使用zlib中的Adler-32CRC-32

r = requests.get(url,headers=None,proxies=None,timeout=int(parms['timeout']))
html = r.text
if zlib.adler32(html.encode("utf-8")) != checksum_last:
    print("New page!")