>>> 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
'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类型的参数
谢谢啦