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

代码运行后报错

代码报错。运行后只能保存5张,而且第5张打不开。另外图片与URL中的不一样。

Windows、paycharm、python2.7.5(安装其他软件时候自带的)

import urllib2
import re

req = urllib2.urlopen('http://www.imooc.com/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


正在回答

2 回答

listurl = re.findall(r'http.+?\.jpg', buf) 改成非贪婪模式就行了

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

qq_一口一个小朋友_0 提问者

有效,谢谢。能稍微解释下原因吗?
2017-08-12 回复 有任何疑惑可以回复我~
#2

qq_一口一个小朋友_0 提问者

谢了,我自己弄清楚了
2017-08-12 回复 有任何疑惑可以回复我~
#3

qq_大屎_0 回复 qq_一口一个小朋友_0 提问者

我的情况跟你一样,为什么要用非贪婪模式才可以呢
2017-09-09 回复 有任何疑惑可以回复我~

求解:我的情况跟你一样,改成非贪婪模式后确实也可以了。但我想知道为什么贪婪模式下不行,非贪婪就可以了呢

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

举报

0/150
提交
取消
python正则表达式
  • 参与学习       80575    人
  • 解答问题       174    个

如何使用正则处理文本,带你对python正则有个全面了解

进入课程

代码运行后报错

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