Python中如何把redis取出的数据去掉b'
这个问题是最近在写爬虫的时候遇到的,本次使用了redis对爬取的数据进行存储,便于对数据进行二次清洗。存入的过程是非常顺利的。但是在二次数据清洗时,在redis中取数据却出现了问题,取出的logo链接含有b',第一次直接运行了,结果出现了问题。进行了步骤性地排查,发现在链接上出现了问题,下面来详细的看一下。
解决办法一
将链接转换为字符串类型,使用如下命令
temp.decode()
解决办法二
str(temp,encoding='utf-8')
解决办法三
在连接redis时进行设置,避免频繁地进行转换操作
StrictRedis(host='localhost', port=6379, db=0,decode_responses=True)
原因
Python3与redis交互驱动上存在问题,如果使用python2则不会出现这样的问题。同样在python3打印数据中b'开头的代表的是bytes类型数据。这个问题一定要牢记,避免在程序进行判断时出现问题而花费较多时间去排查。