python 批量下载图片
#coding=utf-8
import re,sys
import urllib
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
'''
re.compile() 可以把正则表达式编译成一个正则表达式对象.
re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。
运行脚本将得到整个页面中包含图片的URL地址。
'''
def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    x = 0
    n = len(imglist)
    for imgurl in imglist:
        urllib.urlretrieve(imgurl,'/Users/newuser/zdx/python/img/%s.jpg' % x)
        sys.stdout.write("  已下载:%.2f%%" %  float((x+1)*100/n) + '\r')
        sys.stdout.flush()
        #不加sys.stdout.flush()只显示结束时的进度
        x+=1
def callBack(*arg):
	print(arg);
html = getHtml("http://tieba.baidu.com/p/2460150866")
print "开始下载.."
getImg(html)
#这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。
'''
urllib.urlretrieve(url, filename, reporthook=None,data=None)
参数说明:
url:外部或者本地url
filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
reporthook:是一个回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调。我们可以利用这个回调函数来显示当前的下载进度。
data:指post到服务器的数据。该方法返回一个包含两个元素的元组(filename, headers),filename表示保存到本地的路径,header表示服务器的响应头。
'''
python 批量下载图片的更多相关文章
- 用python批量下载图片
		一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么 ... 
- python——批量下载图片
		前言 批量下载网页上的图片需要三个步骤: 获取网页的URL 获取网页上图片的URL 下载图片 例子 from html.parser import HTMLParser import urllib.r ... 
- python批量下载图片的三种方法
		一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: sele ... 
- python批量下载图片
		从数据库拿了一批图片地址,需要一张一张的把图片下载下来,自从有了python,想到能省事就琢磨如何省事. 代码如下: import urllib.requestf=open("E:\999\ ... 
- python批量下载图片3
		import urllib.request import os def url_open(url): req = urllib.request.Request(url) req.add_header( ... 
- 【Python】nvshens按目录批量下载图片爬虫1.00(单线程版)
		# nvshens按目录批量下载图片爬虫1.00(单线程版) from bs4 import BeautifulSoup import requests import datetime import ... 
- 用Python批量下载DACC的MODIS数据
		本人初次尝试用Python批量下载DACC的MODIS数据,记下步骤,提醒自己,数据还在下载,成功是否未知,等待结果中...... 若有大佬发现步骤有不对之处,望指出,不胜感激. 1.下载Python ... 
- Python批量修改图片格式和尺寸
		Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入 ... 
- scrapy操作mysql/批量下载图片
		1.操作mysql items.py meiju.py 3.piplines.py 4.settings.py -------------------------------------------- ... 
随机推荐
- 合理配置SQLSERVER内存
			合理配置SQLSERVER内存 原文地址:https://www.cnblogs.com/lyhabc/archive/2012/09/28/2707857.html SQLSERVER是个很喜欢内存 ... 
- 理解inode 以及 软链接和硬链接概念区分
			inode简单理解 本文来源自网络文章,并针对文章内容加以批注和修改.希望能帮到你! 一. 磁盘设备 说到inode,首先必须要提及下<操作系统>中磁盘存储器的管理一节.磁盘设备是一种相当 ... 
- Spring MVC 的工作原理
			引自:https://www.cnblogs.com/xiaoxi/p/6164383.html SpringMVC的工作原理图: SpringMVC流程 1. 用户发送请求至前端控制器Dispat ... 
- Django电商项目---完成商品主页显示day2
			利用DjangoAdmin初始化数据库 创建项目 python manage.py startapp df_goods 添加配置 manas/urls.py manas/settings.py 新创建 ... 
- C#生成真值表
			using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ... 
- VB6 对象库未注册问题
			以下是个人使用VB6出现对象库未注册问题的解决方法.已成功! 一.注册ocx文件 mscomctl.ocx文件放进路径C:\Windows\System32(64是此路径,由于本人是64位系统32位未 ... 
- 基于C#的单元测试(VS2015)
			这次来联系怎么用VS2015来进行C#代码的单元测试管理,首先,正好上次写了一个C#的WordCount程序,就用它来进行单元测试联系吧. 首先,根据VS2015的提示,仅支持在共有类或共有方法中支持 ... 
- 【项目 · WonderLand】 系 统 设 计
			团 队 作 业 ---- 系 统 设 计 Part 0 · 简 要 目 录 Part 1 · 完 善 需 求 规 格 说 明 书 Part 2 · 团 队 编 码 规 范 Part 3 · 数 据 库 ... 
- 类装载器-ClassLoader
			类装载器的工作机制 类装载器就是寻找类的字节码文件并构造出类在JVM内部表示对象的组件.在Java中,类装载器把一个类装入JVM中,需要经过以下步骤: 装载:查找和导入Class文件. 链接:执行校验 ... 
- 搭建LNMP环境(CentOS 6)
			本文档介绍如何使用一台普通配置的云服务器ECS实例搭建LNMP平台的web环境. Linux:自由和开放源码的类UNIX操作系统. Nginx:轻量级网页服务器.反向代理服务器. MySQL:关系型数 ... 
