如何使用python實(shí)現(xiàn)字符串加密生成唯一固定長(zhǎng)度字符串-創(chuàng)新互聯(lián)

這篇文章主要介紹了如何使用python實(shí)現(xiàn)字符串加密生成唯一固定長(zhǎng)度字符串,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

我們一直強(qiáng)調(diào)網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專業(yè)網(wǎng)站設(shè)計(jì)公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

背景

有時(shí)候爬蟲爬過(guò)的url需要進(jìn)行指紋核對(duì),比如Scrapy就是進(jìn)行指紋核對(duì),如果是指紋重復(fù)則不再爬取。當(dāng)然在入庫(kù)的時(shí)候我還是需要做一次核對(duì),否則如果爬蟲有漏掉,進(jìn)入數(shù)據(jù)庫(kù)就不合適了。

思路

根據(jù)Scrapy的指紋生成方式,這次的指紋生成方式也是用hash的MD5對(duì)目標(biāo)URL進(jìn)行加密,生成固定長(zhǎng)度的字符串,然后在數(shù)據(jù)庫(kù)里面將字段設(shè)置成unique,這樣的話在保證url固定長(zhǎng)度的情況下還能夠保證入庫(kù)后的唯一性,進(jìn)大努力避免出現(xiàn)重復(fù)的數(shù)據(jù)。

指紋生成代碼

新建一個(gè)文件,然后在里面編寫指紋生成的方法,在使用的時(shí)候from import進(jìn)來(lái),調(diào)用方法即可。代碼為:

import hashlib
 
def get_md5(url):
 """
 由于hash不處理unicode編碼的字符串(python3默認(rèn)字符串是unicode)
  所以這里判斷是否字符串,如果是則進(jìn)行轉(zhuǎn)碼
  初始化md5、將url進(jìn)行加密、然后返回加密字串
 """
 if isinstance(url, str):
  url = url.encode("utf-8")
 md = hashlib.md5()
 md.update(url)
 return md.hexdigest()

為了驗(yàn)證代碼的可用性,再加上代碼:

if __name__ == "__main__":
 urls = "http://www.baidus.com"
 print(get_md5(urls))

在本地運(yùn)行無(wú)誤,再把下面這串刪除。等到調(diào)用的時(shí)候from import get_md5把文件和方法引入,就可以使用了

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用python實(shí)現(xiàn)字符串加密生成唯一固定長(zhǎng)度字符串”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)頁(yè)名稱:如何使用python實(shí)現(xiàn)字符串加密生成唯一固定長(zhǎng)度字符串-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://muchs.cn/article28/djicjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航全網(wǎng)營(yíng)銷推廣、Google、網(wǎng)站維護(hù)、域名注冊(cè)App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)