为了账号安全,请及时绑定邮箱和手机立即绑定

这个问题怎么解决啊

>>> listurl = re.findall(r'src=.+\.jpg',buf)

Traceback (most recent call last):

  File "<pyshell#18>", line 1, in <module>

    listurl = re.findall(r'src=.+\.jpg',buf)

  File "D:\Python\lib\re.py", line 213, in findall

    return _compile(pattern, flags).findall(string)

TypeError: cannot use a string pattern on a bytes-like object


正在回答

2 回答

'r' 前面加个'b' 试试看

listurl = re.findall(br'http:.+\.jpg', buf)     #python3中urllib.read()返回的是bytes对象

有可能还需要的改动: 

for url in listurl:

    f = open('i' + '.jpg', 'wb')                      #用 'wb' 格式打开

    url = url.decode('utf-8')                       #因为urlopen()需要的是string类型的参数

0 回复 有任何疑惑可以回复我~
#1

qq__安若浮生_0 提问者

非常感谢!
2016-12-14 回复 有任何疑惑可以回复我~
#2

qq__安若浮生_0 提问者

刚才试了 在前面加上b 会报错
2016-12-14 回复 有任何疑惑可以回复我~

谢谢啦

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个问题怎么解决啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信