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

来源:4-2 python正则表达式练习

团子wwwxxx

2018-03-16 14:19

代码如下:

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回答

  • 芳芳菲菲
    2018-03-20 15:48:10
    已采纳

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

    团子wwwx...

    非常感谢~

    2018-04-10 15:32:49

    共 1 条回复 >

  • 芳芳菲菲
    2018-03-20 15:49:49

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

    慕的地604...

    爬出来的图片看不清是怎么回事呢?

    2019-06-12 16:00:23

    共 1 条回复 >

python正则表达式

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

80575 学习 · 174 问题

查看课程

相似问题