代碼運行后報錯
代碼報錯。運行后只能保存5張,而且第5張打不開。另外圖片與URL中的不一樣。
Windows、paycharm、python2.7.5(安裝其他軟件時候自帶的)
import?urllib2
import?re
req?=?urllib2.urlopen('http://www.xianlaiwan.cn/course/list')
buf?=?req.read()
listurl?=?re.findall(r'http://.+\.jpg',?buf)
i=0
for?url?in?listurl:
????f?=?open('D:/0/'?+?str(i)?+?'.jpg',?'wb')
????req?=?urllib2.urlopen(url)
????buf?=?req.read()
????f.write(buf)
????f.close()
????i?+=?1錯誤信息
Traceback?(most?recent?call?last): ??File?"D:/02/python/imooc.py",?line?12,?in?<module> ????req?=?urllib2.urlopen(url) ??File?"C:\Python27\ArcGIS10.2\lib\urllib2.py",?line?127,?in?urlopen ????return?_opener.open(url,?data,?timeout) ??File?"C:\Python27\ArcGIS10.2\lib\urllib2.py",?line?410,?in?open ????response?=?meth(req,?response) ??File?"C:\Python27\ArcGIS10.2\lib\urllib2.py",?line?523,?in?http_response ????'http',?request,?response,?code,?msg,?hdrs) ??File?"C:\Python27\ArcGIS10.2\lib\urllib2.py",?line?448,?in?error ????return?self._call_chain(*args) ??File?"C:\Python27\ArcGIS10.2\lib\urllib2.py",?line?382,?in?_call_chain ????result?=?func(*args) ??File?"C:\Python27\ArcGIS10.2\lib\urllib2.py",?line?531,?in?http_error_default ????raise?HTTPError(req.get_full_url(),?code,?msg,?hdrs,?fp) urllib2.HTTPError:?HTTP?Error?400:?Bad?Request
2017-08-04
listurl = re.findall(r'http.+?\.jpg', buf) 改成非貪婪模式就行了
2017-09-09
求解:我的情況跟你一樣,改成非貪婪模式后確實也可以了。但我想知道為什么貪婪模式下不行,非貪婪就可以了呢