python实现字符串加密 生成唯一固定长度字符串
作者:中乘风 发布时间:2022-02-04 21:02:27
标签:python,字符串,加密
背景
有时候爬虫爬过的url需要进行指纹核对,比如Scrapy就是进行指纹核对,如果是指纹重复则不再爬取。当然在入库的时候我还是需要做一次核对,否则如果爬虫有漏掉,进入数据库就不合适了。
思路
根据Scrapy的指纹生成方式,这次的指纹生成方式也是用hash的MD5对目标URL进行加密,生成固定长度的字符串,然后在数据库里面将字段设置成unique,这样的话在保证url固定长度的情况下还能够保证入库后的唯一性,进最大努力避免出现重复的数据。
指纹生成代码
新建一个文件,然后在里面编写指纹生成的方法,在使用的时候from import进来,调用方法即可。代码为:
import hashlib
def get_md5(url):
"""
由于hash不处理unicode编码的字符串(python3默认字符串是unicode)
所以这里判断是否字符串,如果是则进行转码
初始化md5、将url进行加密、然后返回加密字串
"""
if isinstance(url, str):
url = url.encode("utf-8")
md = hashlib.md5()
md.update(url)
return md.hexdigest()
为了验证代码的可用性,再加上代码:
if __name__ == "__main__":
urls = "http://www.baidus.com"
print(get_md5(urls))
在本地运行无误,再把下面这串删除。等到调用的时候from import get_md5把文件和方法引入,就可以使用了
来源:https://blog.csdn.net/QuinnSpider/article/details/82847152


猜你喜欢
- 若数据库是sql server,我以前为了返回插入记录的id,一般是用下面的存储过程:程序代码 create procedure&
- 一种有意思的数据结构-默克树(Merkle tree)默克树(Merkle tree)又叫hash树。程序员可以说自己不知道默克树,但是不能
- 聚类今天说K-means聚类算法,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别。分
- open 遍历一个大日志文件使用 readlines() 还是 readline() ?总体上 readlines() 不慢于python
- 本文实例讲述了Python实现爬虫抓取与读写、追加到excel文件操作。分享给大家供大家参考,具体如下:爬取糗事百科热门安装 读写excel
- 由于是从源码包安装的Mysql,所以系统中是没有红帽常用的servcie mysqld restart这个脚本只好手工重启有人建议Killa
- 用于处理XML文档的DOM元素属性 childNodes:返回当前元素所有子元素的数组; firstChild:返回当前元素的第一个下级子元
- 1.什么是Proxy?它的作用是?据阮一峰文章介绍:Proxy可以理解成,在目标对象之前架设一层 "拦截",当外界对该对
- 前言django是python语言的一个web框架,功能强大。配合一些插件可为web网站很方便地添加搜索功能。搜索引擎使用whoosh,是一
- Django是一种基于Python的Web开发框架一、在命令行中创建Django项目(Windows平台、python3.6)1、建立虚拟环
- 前言:散点图,又称散点分布图,是使用多个坐标点的分布反映数据点分布规律、数据关联关系的图表,Matplotlib 中可以通过以下方式绘制散点
- 修改python plot折线图的坐标轴刻度,这里修改为整数:代码如下:from matplotlib import pyplot as p
- pyplot直方图的绘制import matplotlib.pyplot as pltimport numpy as npfrom pyla
- 一、简介本章内容主要通过具体的简单示例来分析Vue3是如何实现响应式的。理解本章需要了解Vue3的响应式对象。只注重原理设计层面,细节不做太
- 带农历的JavaScript日期时间,增加了农历使这款代码更具实用性,很不错,不但有农历,而且还可以显示民国计年,可以判断显示闰月、闰年等,
- 前言在ECMAScript中,有两个最常用的创建函数对象的方法,即使用函数表达式或者使用函数声明。对此,ECMAScript规范明确了一点,
- 引言借由本篇文章来探讨下在Mysql数据库中数值类型tinyint(1)和tinyint(4) 有啥区别呢?什么是tinyint(
- 在爬虫的获取数据上,一直在讲一些爬取的方法,想必小伙伴们也学习了不少。在学习的过程中遇到了问题,大家也会一起交流解决,找出不懂和出错的地方。
- 本文实例为大家分享了python opencv实现图像配准与比较的具体代码,供大家参考,具体内容如下代码 from skimage
- N久没有开始写博客了,总觉得要随便记点东西,岁月蹉跎,曾经搞得一些东西、技术、工具,说丢也就丢了,点点滴滴还是要记录一下吧。。。在windo