从"百度图片(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()

运行结果:

开始下载 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 张图片

下载到本地的图片:

Python爬虫之抓图的更多相关文章

  1. Python爬虫之路——简单网页抓图升级版(添加多线程支持)

    转载自我的博客:http://www.mylonly.com/archives/1418.html 经过两个晚上的奋斗.将上一篇文章介绍的爬虫略微改进了下(Python爬虫之路--简单网页抓图),主要 ...

  2. Python 爬虫模拟登陆知乎

    在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...

  3. python爬虫成长之路(一):抓取证券之星的股票数据

    获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为python3.5,意在抓取证券之星上当天所 ...

  4. python爬虫学习(7) —— 爬取你的AC代码

    上一篇文章中,我们介绍了python爬虫利器--requests,并且拿HDU做了小测试. 这篇文章,我们来爬取一下自己AC的代码. 1 确定ac代码对应的页面 如下图所示,我们一般情况可以通过该顺序 ...

  5. python爬虫学习(6) —— 神器 Requests

    Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提供了你所需要的大多数 H ...

  6. 批量下载小说网站上的小说(python爬虫)

    随便说点什么 因为在学python,所有自然而然的就掉进了爬虫这个坑里,好吧,主要是因为我觉得爬虫比较酷,才入坑的. 想想看,你可以批量自动的采集互联网上海量的资料数据,是多么令人激动啊! 所以我就被 ...

  7. python 爬虫(二)

    python 爬虫 Advanced HTML Parsing 1. 通过属性查找标签:基本上在每一个网站上都有stylesheets,针对于不同的标签会有不同的css类于之向对应在我们看到的标签可能 ...

  8. Python 爬虫1——爬虫简述

    Python除了可以用来开发Python Web之后,其实还可以用来编写一些爬虫小工具,可能还有人不知道什么是爬虫的. 一.爬虫的定义: 爬虫——网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区 ...

  9. Python爬虫入门一之综述

    大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...

随机推荐

  1. svn 中的add 和commit命令有何区别

    add 功能:向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去.简单的说就是将一新文件加入svn,你添加再提交后该文件就进入subv ...

  2. selenium设定请求头

    如果只是需要设定User-Agent可以用如下所示方式 dcap = dict(DesiredCapabilities.PHANTOMJS)dcap["phantomjs.page.sett ...

  3. java Json 技术记录

    1.Json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-c ...

  4. redis数据的备份与恢复

    redis数据的备份与恢复 持久化分为两种方式:RDB和AOF 1.1 RDB模式 RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的所有数据进 ...

  5. Pikachu漏洞练习平台实验——文件包含(File Inclusion)(六)

    1.概述 1.1简介 在 Web 后台开发中,程序员往往为了提高效率以及让代码看起来更加简洁,会使用 “包含” 函数功能.比如把一系列功能函数都写进 function.php 中,之后当某个文件需要调 ...

  6. JavaScript Tre

    function BinarySearchTree() { var Node = function(key) { this.key = key; this.left = null; this.righ ...

  7. 《JAVA设计模式》之访问者模式(Visitor)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述访问者(Visitor)模式的: 访问者模式是对象的行为模式.访问者模式的目的是封装一些施加于某种数据结构元素之上的操作.一旦这些操作需要 ...

  8. Oracle-随笔笔记

    1.重命名数据库表.重命名字段 alter table tablename1 rename to tablename2; alter table tablename1 rename column co ...

  9. js 为false的几种情况

    1: false 2: null 3:undefined 4:"" 空字符串 5:0 6:NaN 如果你的if条件里面会出现 0 或者"",那么这种肯定是为假的 ...

  10. kmp(多次可重叠匹配)

    http://acm.hdu.edu.cn/showproblem.php?pid=1686 Oulipo Problem Description The French author Georges ...