Python爬虫之抓图

  从"百度图片(http://image.baidu.com/"的首页下载图片

 

# -*- coding: utf-8 -*-
import urllib
import re
import sys

url = 'http://image.baidu.com/'

# 获取URL的源代码
def get_html(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

# 下载图片到本地
def get_image():
    pattern_image = re.compile('img src="(.+\.jpg)')
    image_list = re.findall(pattern_image, get_html(url))
    for image in image_list:
        temp = [] 
        temp = image.split('/')
        filename = './image/' + temp[-1]
        print '开始下载',image
        try:            
            urllib.urlretrieve(image, filename, download)
        except:
            print "Unexpected error:", sys.exc_info()[0]
        finally:
            print '下载完成'
    print '总共下载:',len(image_list),'张图片'

# 展示下载进度
def download(a, b, c):
    per = 100.0 * a * b / c
    if per > 100 :
        per = 100
    print '%.2f%%' % per
    
get_image()
View Code

 

运行结果:

开始下载 http://img0.bdstatic.com/img/image/shouye/sheying0601.jpg
0.00%
50.66%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/bizhi0302.jpg
0.00%
71.50%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/mingxing0601.jpg
0.00%
64.83%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/chongwu0128.jpg
0.00%
82.68%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/dongman0309.jpg
0.00%
65.25%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/touxiang0601.jpg
0.00%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/jianbihua0601.jpg
0.00%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/qiche0313.jpg
0.00%
93.70%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/qqpifu0601.jpg
0.00%
99.62%
100.00%
下载完成
开始下载 http://img0.bdstatic.com/img/image/shouye/duorou0601.jpg
0.00%
65.42%
100.00%
下载完成
总共下载: 10 张图片
View Code

 

下载到本地的图片:

转载于:https://www.cnblogs.com/yuan-yuan/p/4547400.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值