Python 程序下载经办人照片
进行图片下载,需要提前准备好下载图片的存放文件夹;
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)
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 程序下载经办人照片的更多相关文章
- python大法好——python的下载与安装、第一个程序
吃够了java的苦,所以python好. 打今天起,要走python了. 首先呢,学习python需要python环境.和一款得心应手的集成开发环境. python环境下载:https://mirro ...
- 3.第一个python程序
学习任何一门语言的第一步,首先要写个'hello world',这算是程序员的一个传统.但在写之前,还有注意几个问题. 首先,python是一门脚本语言,而脚本语言的特点就是:我们写的代码会先由解释器 ...
- 编写高质量代码改善python程序91个建议学习01
编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐 ...
- 介绍Python程序员常用的IDE和其它开发工具
概述 “工欲善其事,必先利其器”,如果说编程是程序员的手艺,那么IDE就是程序员的吃饭家伙了. IDE 的全称是Integration Development Environment(集成开发环境), ...
- Python:使用Kivy将python程序打包为apk文件
1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...
- 将Python程序打包为exe方法
将Python程序打包为exe文件,需要使用到的工具是pyinstaller pyinstaller是一个多平台的Python程序打包为exe的免费工具 安装pyinstaller: 1,在Windo ...
- Jenkins简明入门(二) -- 利用Jenkins完成Python程序的build、test、deployment
大家可能还没搞清楚,Jenkins到底能做什么? 本节内容利用Jenkins完成python程序的build.test.deployment,让大家对Jenkins能做的事情有一个直观的了解. 本节内 ...
- 改善python程序的建议[转]
<编写高质量代码 改善Python程序的91个建议> <编写高质量代码 改善Python程序的91个建议>读后程序学习小结 - BigDeng_2014的专栏 - CSDN博客 ...
- 编写python程序和运行.py文件的方法步骤
前提:已安装好 Subliume Test 3 且已经添加好python编译系统,已安装好python3.7 一.新建一个文本文档,将后缀名改为.py 二.使用 Subliume Test 3 打开该 ...
随机推荐
- springboot源码之(bean的递归注册)
在prepareContext中,用loader调用load方法,loader是 BeanDefinitionLoader,在BeanDefinitionLoader的构造方法中,会实例化一个Anno ...
- 【未解决】对于使用Windows的IDEA进行编译的文件,但无法在Linux系统中统计代码行数的疑问
在我学习使用Windows的IDEA的过程中,将代码文件转移到Linux虚拟机当中,但无法在Linux系统中统计代码行数. 注意:拷贝进虚拟机的文件均能编译运行. 具体过程如下: root@yogil ...
- vue bus的使用
vue中的bus事件,一般作为中央事件总线来使用 简单例子:比如在A,B组件为兄弟组件,现在A要调用B的中C事件 1.创建一个bus.js 内容: import Vue from 'vue' cons ...
- idea取消参数名称(形参名)提示
idea取消参数名称(形参名)提示 IDEA会自动显示形式参数的变量名称,这在一开始使用时感觉很方便,友好.有时候也会显得排版很乱,下面是取消自动显示形式参数名称的方式 取消前是这个样子. “File ...
- 什么是Maven项目
1.通俗理解Maven:https://blog.csdn.net/shuzhe66/article/details/45009175 个人总结: Maven项目会有pom文件! 当前的项目需要依赖其 ...
- centOS连接没问题,使用SecureCRT就不能连接
原因: 将NAT模式改为自定义的模式即可:
- 会话的保持和form表单
会话的保持和form表单 cookie 设置cookie from django.shortcuts import render, HttpResponse, redirect, reverse de ...
- FlexRay笔记
1.FlexRay具有高速.可靠及安全的特点.FlexRay在物理上通过两条分开的总线通信,每一条的数据速率是10MBit/s.CAN网络最高性能极限为1Mbps,而FlexRay总数据速率可达到20 ...
- 记录安装 java 环境,部署环境变量遇到的小坑
情况:先安装 jdk 7,再安装 jdk8,发现 java 的环境自动变成了 jdk8 解决: 1.在 系统的环境变量下,多出了一行: C:\Program Files (x86)\Common Fi ...
- 基于redis的 分布式锁 Java实现
package com.hs.services.lock; import java.util.concurrent.TimeUnit; import javax.annotation.Resource ...