python下载多个文件
# -*- coding: utf-8 -*-
__author__ = 'Administrator'
import urllib2,urllib,os,re
def Url1(url):#多个文件
openr=urllib2.build_opener()#下载文件html代码,找出一楼的核心代码
openr.add_handler=[('User-agent', 'Mozilla/5.0')]#不加头信息则出现403错误和乱码
html=openr.open(url).read()
regfloor='<div class="msgfont">(.*?)</div>'
html1=re.search(regfloor,html)
html=html1.group()
return html.decode('utf-8')#文件保存编码和文件编辑编码都是utf-8,所以decode一次,不然会出现乱码,但是不影响结果。
def getimg(url):
pagehtml=Url1(url)#从核心代码中照图图片地址,并且下载保存、命名
reg='<img src="(.*?)" alt=""/>'#找到所有图片地址
imag=re.findall(reg,pagehtml)
dir=r'G:\pic'
for index in xrange(len(imag)):
pic=str(index+1)+'.jpg'
fine=os.path.join(dir,pic)
urllib.urlretrieve(imag[index],fine)
print fine+'ok'
url='http://wangwei007.blog.51cto.com/68019/1351429'
getimg(url)
python下载多个文件的更多相关文章
- python 下载文件 & 防盗链
偶然下载一种类型的资源,发现好多翻页,右键另存什么的,不胜其烦. 决定用python写几句代码搞定.核心代码如下: from urllib import urlretrieve from urllib ...
- [转] 三种Python下载url并保存文件的代码
原文 三种Python下载url并保存文件的代码 利用程序自己编写下载文件挺有意思的. Python中最流行的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib ...
- Python 一键上传下载&一键提交文件到SVN入基线工具
一键上传下载&一键提交文件到SVN入基线工具 by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用说明 1 注: 根据我司项目规则订制的一套工具,集成以下功能,源码 ...
- 【331】python 下载文件:wget / urllib
参考:python下载文件的三种方法(去掉-) 方法一:wget import wget, os # 设置下载路径 os.chdir(r"D:/tmp") url="ht ...
- python下载网络文件
python下载网络文件 制作人:全心全意 下载图片 #!/usr/bin/python #-*- coding: utf-8 -*- import requests url = "http ...
- Python 下载超大文件
使用python下载超大文件, 直接全部下载, 文件过大, 可能会造成内存不足, 这时候要使用requests 的 stream模式, 主要代码如下 iter_content:一块一块的遍历要下载的内 ...
- python脚本下载 Google Driver 文件
使用python脚本下载 Google Driver 文件 import yaml import sys import requests import os import re import tarf ...
- 吴裕雄--天生自然python学习笔记:python下载安装各种模块的whl文件网址
python下载安装各种模块的whl文件网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
- 【Azure Developer - 密钥保管库 】使用 Python Azure SDK 实现从 Azure Key Vault Certificate 中下载证书(PEM文件)
问题描述 在Azure Key Vault中,我们可以从Azure门户中下载证书PEM文件到本地. 可以通过OpenSSL把PFX文件转换到PEM文件.然后用TXT方式查看内容,操作步骤如下图: Op ...
随机推荐
- 新建cocos2d-xproject
在cocos2d-x v3.1.1版本号中,採用命令行的方式来创建一个新的project.比方新建一个名为MyGame的project能够用以下的命令: watermark/2/text/aHR ...
- 查询rman备份信息经常使用指令
查询rman备份信息经常使用指令 ----登陆到rman $rman target / ----以精简的格式查看备份信息 RMAN> list backup of database summar ...
- [每日一题] OCP1z0-047 :2013-08-15 描述GROUPING 函数 .......................................43
正确答案:C ,否则返回0. 官方解释:GROUPING distinguishes superaggregate rows fromregular grouped rows. GROUP BY ex ...
- 手游2dx面试笔记一
第一轮IQ测试:都来面试程序了,相信IQ再怎么也坑不到哪里去吧.要问什么样的题,几页纸呐, 如:1.找出不同类:羚羊.斑马.鲨鱼 2.在()里添一字使2边都能组词:木()料 3.中间值?:1,2,4, ...
- Java基础知识强化37:StringBuffer类之StringBuffer的构造方法
1. StringBuffer的构造方法: (1)StringBuffer(): (2)StringBuffer(CharSequence seq): (3)StringBuffer(int capa ...
- OD: Format String, SQL Injection, XSS
Format String 格式化串漏洞 考虑如下的代码: #include<stdio.h> int main() { int a=44,b=77; printf("a=%d, ...
- HTML5和CSS3实例教程[总结二]
基于contenteditable属性实现在位编辑 HTML5规范引入了contenteditable属性,它几乎可以用在任何元素上,只要添加这一属性 即可变为可编译区域 <!DOCTYPE h ...
- javascript 冒泡和事件源 形成的事件委托
冒泡:即使通过子级元素的事件来触发父级的事件,通过阻止冒泡可以防止冒泡发生. 事件源:首先这个东西是有兼容行问题的,当然解决也很简单. 两者结合使用,形成的事件委托有两个优势: 1.减少性能消耗: 2 ...
- C#time 闹钟
private void timer2_Tick(object sender, EventArgs e) { lbltime.Text = DateTime.Now.ToString(); & ...
- 树莓派编译C++
首次研究树莓派~ 安装的Linux 编译C++时,就出现了问题,未定义!!无法识别 查了原因是没有安装 build-essential 解决方法 sudo apt-get install buil ...