进行图片下载,需要提前准备好下载图片的存放文件夹;

python在与文件、目录打交道时,少不了os模块。os模块包含普遍的操作系统功能。

os.path.exists(filepath)——检验指定的对象是否存在;os.mkdir(filepath)——创建目录;os.path.join(path, name)——连接目录和文件名


 import os
import sys #city_id = sys.argv[1]
city_id = 660 def check_make_image_floder(filepath):
if not os.path.exists(filepath):
os.makedirs(filepath)
image_floder = "C:\\Users\\admin\\Desktop\\%s" %city_id
check_make_image_floder(image_floder)
urllib.urlretrieve(url, filename)—将远程数据下载到本地指定路径

 import os
import sys
import urllib #city_id = sys.argv[1]
city_id = 660 def check_make_image_floder(filepath):
if not os.path.exists(filepath):
os.makedirs(filepath)
image_floder = "C:\\Users\\admin\\Desktop\\%s" %city_id
check_make_image_floder(image_floder) filename = "660170120991757571.jpg"
dest_dir = os.path.join(image_floder,filename) url_example = 'http://xxx.xxx.xx.xxx:xxxx/REST/docService?timestamp=1450063392000&organId=xxxxx&busiType=1&appId=crmlog&staffNo=xxTEST200&filename=660/16000004/13298809/660170120991757571.jpg&method=get&password=crmlog1452&latnId=660&signature=731ccc37de5e48dc69bb9ba3xxxxxxxxx&version=001'
def crawl_image(url_example,dest_dir):
urllib.urlretrieve(url_example,dest_dir) crawl_image(url_example,dest_dir)

进行文件下载前,先替换latnId;

 import os
import sys
import urllib
import re #city_id = sys.argv[1]
city_id = 660 url_example = 'http://xxx.xxx.xx.xxx:xxxx/REST/docService?timestamp=1450063392000&organId=2222&busiType=1&appId=crmlog&staffNo=xxTEST200&filename=663/16000004/13298809/6601701209917xxxxx.jpg&method=get&password=crmlog1452&latnId=663&signature=731ccc37de5e48dc69bb9ba34b9f3188&version=001'
pattern = re.compile(r'latnId=\d{2,3}')
image_url01 = re.sub(pattern, 'latnId='+str(city_id).strip(), url_example) def check_make_image_floder(filepath):
if not os.path.exists(filepath):
os.makedirs(filepath)
image_floder = "C:\\Users\\admin\\Desktop\\%s" %city_id
check_make_image_floder(image_floder) def crawl_image(image_url,dest_dir):
urllib.urlretrieve(image_url,dest_dir) with open("C:\\Users\\admin\\Desktop\\%sdata.txt"%city_id,'r') as f:
lines = f.readlines()
lists = image_url01.split('&')
for list in lists:
if list.startswith('filename'):
for line in lines:
image_url02 = re.sub(list, 'filename='+line.strip(), image_url01)
results = line.split('/')
image_name_ex = results.pop()
image_info = urllib.urlopen(image_url02.strip())
if image_info.getcode() == 200:
image_url = image_url02.strip()
dest_dir = os.path.join(image_floder,image_name_ex.strip())
crawl_image(image_url,dest_dir)
print image_url + " write sucess !"

Python 程序下载经办人照片的更多相关文章

  1. python大法好——python的下载与安装、第一个程序

    吃够了java的苦,所以python好. 打今天起,要走python了. 首先呢,学习python需要python环境.和一款得心应手的集成开发环境. python环境下载:https://mirro ...

  2. 3.第一个python程序

    学习任何一门语言的第一步,首先要写个'hello world',这算是程序员的一个传统.但在写之前,还有注意几个问题. 首先,python是一门脚本语言,而脚本语言的特点就是:我们写的代码会先由解释器 ...

  3. 编写高质量代码改善python程序91个建议学习01

    编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐 ...

  4. 介绍Python程序员常用的IDE和其它开发工具

    概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...

  5. Python:使用Kivy将python程序打包为apk文件

    1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...

  6. 将Python程序打包为exe方法

    将Python程序打包为exe文件,需要使用到的工具是pyinstaller pyinstaller是一个多平台的Python程序打包为exe的免费工具 安装pyinstaller: 1,在Windo ...

  7. Jenkins简明入门(二) -- 利用Jenkins完成Python程序的build、test、deployment

    大家可能还没搞清楚,Jenkins到底能做什么? 本节内容利用Jenkins完成python程序的build.test.deployment,让大家对Jenkins能做的事情有一个直观的了解. 本节内 ...

  8. 改善python程序的建议[转]

    <编写高质量代码 改善Python程序的91个建议> <编写高质量代码 改善Python程序的91个建议>读后程序学习小结 - BigDeng_2014的专栏 - CSDN博客 ...

  9. 编写python程序和运行.py文件的方法步骤

    前提:已安装好 Subliume Test 3 且已经添加好python编译系统,已安装好python3.7 一.新建一个文本文档,将后缀名改为.py 二.使用 Subliume Test 3 打开该 ...

随机推荐

  1. JAVA集合接口及类

    各接口及类关系图 Iterable 所有集合的初始接口,实现该接口可进行foreach操作,只有一个iterator()方法,并返回iterator类型: Iterable在java.lang下,It ...

  2. 强大的拖拽组件:React DnD 的使用

    强大的拖拽组件:React DnD 的使用 react.js 10.6k 次阅读  ·  读完需要 25 分钟 17 文章首发我的个人blog : 原文链接 学习 React DnD 的最初原因是阅读 ...

  3. 【EMV L2】DDA标准动态数据认证处理流程

    [标准动态数据认证DDA] 标准动态数据处理过程,除了动态签名由卡片生成以外,其他都是由终端执行的.处理过程: 1.认证中心公钥的获取终端使用认证中心公钥索引(PKI)以及卡片中的注册的应用提供商标识 ...

  4. s21day10 python笔记

    s21day10 python笔记 一.函数补充 1.1 参数 基本参数知识 def get_list_date(aaa): #aaa:形式参数(形参) 任意个数 v = [11,22,33,44] ...

  5. Python全栈之路----Python基础元素

    1.变量定义规则                 声明变量   name = " Alex Li"     其中,name是变量名(标识符),"Alex Li" ...

  6. A New Function(LightOJ 1098)积性函数前缀和的应用

    题意:要求对于1~n,每个数的约数(不包括1和其本身)的和. 题解:由于题目数据有2*10^9之大,因而不能直接暴力.需要考虑积性函数的特性,由于必定有重复的约数出现,因而可以对重复约数所在的区间进行 ...

  7. 小妖精的完美游戏教室——东方project,同人,自机

    //================================================================ //// Copyright (C)// All Rights R ...

  8. php 图片缩放然后合成并保存

    /** * 功能说明 * 将files/model_24/images/下的所有图片文件进行等比例缩放 到$image40w 尺寸 然后放到files/model_24/model.png图片的指定位 ...

  9. python:递归函数(汉诺塔)

    #hanoi.py def hanoi(n,x,y,z): if n==1: print(x,"-->",z) else: hanoi(n-1,x,z,y) print(x, ...

  10. C++11如何减少内存拷贝次数

    C++11中出现了很多迷人的特性.例如智能指针实现高效的内存管理,std::bind和std::function函数封装器,以及lambda实现的函数对象语法糖,都是使我着迷的地方. 而C++11最大 ...