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有什么好的微信公众号(python下载微信公众号相关文章)
- wxpython 弹出对话框显示图片(WxPython建立批量录入框窗口)
- opencv人脸识别算法(python利用Opencv实现人脸识别功能)
- python自定义定时任务(python的schedule定时任务模块二次封装方法)
- python开发网站github(使用 Python 玩转 GitHub 的贡献板推荐)
- python自动计算机器人(python实现nao机器人手臂动作控制)
- python好看图案(python实现趣味图片字符化)
- python的模块与包与库(Python 中包/模块的 `import` 操作代码)
- 怎么用python分析足球(使用Python进行体育竞技分析预测球队成绩)
- python获取当前时间戳(Python基于datetime或time模块分别获取当前时间戳的方法实例)
- python numpy数组拼接(Python快速转换numpy数组中Nan和Inf的方法实例说明)
- python使用教程操作(详解python中@的用法)
- python起源详解(Python发展简史 Python来历)
- python3.7不兼容pywinauto(浅谈python编译pyc工程--导包问题解决)
- python设置按钮(Python按钮的响应事件详解)
- 终于来了,淘宝更改账户名测试中,快去看看你能不能修改(淘宝更改账户名测试中)
- 淘宝支持账号名修改,网友 终于可以 重新做人 了(淘宝支持账号名修改)
- 盘点那些年让人称奇的年终奖 最后一个赢辣条毫无悬念(盘点那些年让人称奇的年终奖)
- 你还没有升职吗 他竟因为几套激励理论,升职了(你还没有升职吗)
- 某知名企业绩效管理体系及薪酬分配体系操作手册(某知名企业绩效管理体系及薪酬分配体系操作手册)
- 职场人改不掉这4个习惯,只会越混越穷,一辈子也翻不了身(职场人改不掉这4个习惯)
热门推荐
- css 三级层级菜单(利用CSS3实现动态的二级三级菜单效果实例源码)
- php目录函数创建教程(PHP下载文件函数与用法示例)
- 使用python制作游戏(python制作填词游戏步骤详解)
- IEnumerable、GetEnumerator、IEnumerator之间的关系
- lnmp SSL证书使用教程(lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题)
- 如何认识服务器(关于Nginx、Apache、Tomcat三个WEB服务器的区别和认知)
- Sql Server常用系统存储过程
- docker怎么做数据(Docker数据卷常用操作代码实例)
- linux机器重启了docker容器还在不(Linux下docker 容器退出bash的两种实现方法)
- sqlserver统计表大小(SqlServer 垂直分表减少程序改动)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9