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

请问为什么会出现urllib2.HTTPError: HTTP Error 400: Bad Request错误?

代码如下:

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


正在回答

2 回答

可以在req = urllib2.urlopen('http:'+url)上面 print 'http:'+url, 就会发现问题所在。listurl = re.findall(r'//.+\.jpg*',buf)这个地方的正则错误,应该使用非贪婪匹配模式,改为listurl = re.findall(r'//.+?\.jpg',buf),即可。

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

团子wwwxxx 提问者

非常感谢~
2018-04-10 回复 有任何疑惑可以回复我~

可以在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)

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

慕的地6047929

爬出来的图片看不清是怎么回事呢?
2019-06-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问为什么会出现urllib2.HTTPError: HTTP Error 400: Bad Request错误?

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