python中生成字符串序列(python实现字符串加密 生成唯一固定长度字符串)
类别:脚本大全 浏览量:1884
时间:2021-11-05 14:48:08 python中生成字符串序列
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
您可能感兴趣
- python单例编程(浅谈Python反射 & 单例模式)
- python分析excel基础数据生成报表(Python实现定制自动化业务流量报表周报功能XlsxWriter模块)
- python udp通信(Python socket模块实现的udp通信功能示例)
- python初学篇元组(元组列表字典莫烦python基础)
- python定时任务详解(使用Python做定时任务及时了解互联网动态)
- python调用excel教程(利用python在excel里面直接使用sql函数的方法)
- python读取和写入数据excel(Python向excel中写入数据的方法)
- python装饰器怎么编写(Python函数装饰器常见使用方法实例详解)
- pythonprint什么意思啊(Python中print和return的作用及区别解析)
- python turtle简易绘图(详解Python使用Plotly绘图工具,绘制甘特图)
- pythonide使用教程(对Python Pexpect 模块的使用说明详解)
- python云服务技术(Python脚本修改阿里云的访问控制列表的方法)
- python炫酷烟花源代码(python实现浪漫的烟花秀)
- python中list怎么用(详解python中list的使用)
- python人脸识别库(20行python代码实现人脸识别)
- python socket 库(Pythony运维入门之Socket网络编程详解)
- 老弄堂里的市井味道(老弄堂里的市井味道)
- 小米音乐可绑定QQ音乐, QQ音乐 真的会消失在小米的设备上吗(小米音乐可绑定QQ音乐)
- 小米Watch S1评测 或许能成为小米冲击高端可穿戴设备的里程碑(小米WatchS1评测或许能成为小米冲击高端可穿戴设备的里程碑)
- 手机QQ与小米路由器在一起 明天揭晓,敬请期待(手机QQ与小米路由器在一起)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
热门推荐
- react 的事件机制(React如何优雅的捕获异常)
- vscode报错提示框(关于在vscode使用webpack指令显示"因为在此系统中禁止运行脚本"问题)
- androidjpg图像处理(详解如何使用image-set适配移动端高清屏图片)
- docker安装镜像失败(阿里云镜像安装docker报错的问题及解决方案)
- 织梦文章发布页如何增加表单(织梦CMS列表页只显示一篇文章的解决办法)
- 云服务器托管区别(云服务器托管需要注意哪些事项?)
- dedecms中的有些功能如何修改(DEDECMS 扩展标签和dede自定义标签实现方法)
- mysql锁技术(MySQL 加锁控制并发的方法)
- 宝塔面板解除域名绑定代码(宝塔面板网站防跨站攻击open_basedir无法关闭解决办法)
- php防sql注入(万能密码的SQL注入漏洞其PHP环境搭建及防御手段)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9