代码如下:
import re
import urllib2
req = urllib2.urlopen('https://www.imooc.com/course/list')
buf = req.read()
#listurl = re.findall(r'src=.+\.jpg',buf)
listurl = re.findall(r'//.+\.jpg*',buf)
#print listurl
i = 0
for url in listurl:
f=open("D:\\python\\LearnPython\\"+str(i)+'.jpg','wb')
req = urllib2.urlopen('http:'+url)
buf = req.read()
f.write(buf)
i=i+1
可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。
可以在req = urllib2.urlopen('http:'+url)上面 print 'https:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。
另外:req = urllib2.urlopen('http:'+url),最好改为req = urllib2.urlopen('https:'+url)