Python3遇到TypeError:cannot use a string pattern on a bytes-like object错误

    今天写一个爬取股票网站的爬虫,遇到了 TypeError:cannot use a string pattern on a bytes-like object 错误,这个问题查询了一下,说使用    html=html.decode('utf-8')#python3   就可以了,然后我想着对网页地址使用decode,但是这个问题一直都在,然后我将数据输出以后,发现了个问题:


    我们使用代理的IP去访问该股票网站,因为我将代理存储在redis中,所以取出代理输出为   b'HTTP://120.25.203.182:7777'   说明代理是字节流类型的。发现了问题,这个报错并不是因为网页地址的问题,而是我们自己取得代理IP的问题,但是报错又不会报错在这里,修改如下:

#从redis中随机抽取一个IP地址
    def getValidProxy(self):
        red = redis.StrictRedis(host="127.0.0.1",port=6379)
        validProxy = red.srandmember('kuaidaili_proxies').decode()   #从kdl_proxies 这个key中随机取一个IP
        print('当前使用的代理为:',validProxy)
        return validProxy
     我之前写得是 validProxy = red.srandmember('kuaidaili_proxies') ,在后面加上decode()问题就解决了。这个问题找了我好久,以后有问题输出相关数据看看是哪部分出了问题再想解决办法。

猜你喜欢

转载自blog.csdn.net/jjboom425/article/details/80987667
今日推荐