請問為什么會出現urllib2.HTTPError: HTTP Error 400: Bad Request錯誤?
代碼如下:
import re
import urllib2
req = urllib2.urlopen('http://www.xianlaiwan.cn/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
2018-03-20
可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就會發現問題所在。listurl = re.findall(r'//.+\.jpg*',buf)這個地方的正則錯誤,應該使用非貪婪匹配模式,改為listurl = re.findall(r'//.+?\.jpg',buf),即可。
2018-03-20
可以在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)