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

使用python+eclipse按您讲的方法提取出来的图片怎么是损坏的或无法加载的

python版本2.7,用的是chrom浏览器

import urllib2
import re

req=urllib2.urlopen('http://www.imooc.com/course/list')
buf=req.read()
#print buf
listurl =re.findall(r'http:.+\.jpg',buf)
print listurl
i=0
for url in listurl:
    f=open(str(i)+'.jpg','w')
    req=urllib2.urlopen(url)
    buf=req.read()
    f.write(buf)
    i+=1

爬取出来的图片:

5697a7500001683502400135.jpg

5697a75000014d6d02400135.jpg

请问这个是什么原因呢

正在回答

4 回答

我用30浏览器爬这个图片,按照教程来做也是出现加载不了的马赛克情况。。不知道咋回事

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

def down(url):
    return urllib2.urlopen(url)
def downImg(page):        
    buf = down("http://www.imooc.com/course/list?page=%d"%(page)).read()
    #print buf
    imgs = re.findall(r"http:.+\.jpg", buf)
    for img in imgs:
        fname = img.split('/')[-1]
        print fname
        fn = open("img\\%s"%(fname), "wb")
        requ = down(img)        
        fn.write(requ.read())
        fn.close()
        
for i in range(0,25):
    downImg(i)


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

f=open(str(i)+'.jpg','wb')

使用二进制方式打开文件,避免图片出现马赛克。

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

8好意思,取图片跟浏览器有关?

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

举报

0/150
提交
取消

使用python+eclipse按您讲的方法提取出来的图片怎么是损坏的或无法加载的

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