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

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. IDE Fix Pack 6.4.2 released (bugfix release)

    IDE Fix Pack 6.4.2 addresses two bugs. It fixes an issue with the TCustomListBox.ResetContent patch ...

  2. Fescar Example-Spring Cloud

    项目说明 本项目演示如何使用 Fescar Starter 完成 Spring Cloud 应用的分布式事务接入. 准备工作 在运行此示例之前,你需要先完成如下几步准备工作: 配置数据库 创建 UND ...

  3. ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)

    参考链接:https://www.jianshu.com/p/63c1f22e1fed Ubuntu中python版本问题: 添加PPA: sudo add-apt-repository ppa:jo ...

  4. 剑指Offer 35. 数组中的逆序对 (数组)

    题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000 ...

  5. mod_conference ESL控制一(原理)

    本文介绍通过freeswitch mod_conference 的配置和APP,以及如何通过这些事件实现会议控制. 需求 ESL内联,发起会议.加人.踢人.静音.恢复静音.申请发言.结束会议等基础功能 ...

  6. Restful levels &HATEOAS基本介绍~

    本文所涉及的内容摘自:http://www.manongjc.com/article/93934.html 什么是RESTful REST这个词,是Roy Thomas Fielding在他2000年 ...

  7. 渲染标签 - v-html

    <!DOCTYPE html><html><head>    <meta charset="utf-8">    <title ...

  8. yii2 获取模块名、控制器名、方法名

    在视图中: 模块名  $this->context->module->id控制器名 $this->context->id方法名 $this->context-> ...

  9. oracle-企业信息化

    http://www.itpub.net/thread-1873735-1-1.html        OCP考试心得 http://blog.csdn.net/rlhua/article/detai ...

  10. day052 django第三天 url和视图

    一.基本格式 from django.conf.urls import url from . import views #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数 ...