详解使用Python下载文件的几种方法
在使用Python进行数据抓取的时候,有时候需要保持文件或图片等,在Python中可以有多种方式实现。今天就一起来学习下。
urllib.request
主要使用的是urlretrieve方法,该方法处理待淘汰的方法,不建议使用。
import urllib.request url = 'https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png' urllib.request.urlretrieve(url, './image/logo.png')
requests
相比上述方案,可以返回HTTP的meta信息。
import requests r = requests.get(url) with open('./image/logo.png', 'wb') as f: f.write(r.content) # Retrieve HTTP meta-data print(r.status_code) print(r.headers['content-type']) print(r.encoding)
wget
wget是Linux下的一个命令行下载工具,在Python中可以直接通过安装包后使用。使用方法如下:
import wget url = 'https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png' wget.download(url, './image/logo.png')
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python实现上传下载文件功能
最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exempt @require_http_methods(["POST"]) def uploadFiles(request): try: user = request.session.get('user') allFimeNames = "" #获取所有上传文件 files
-
Python实现批量下载文件
Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_all() from gevent.pool import Pool import requests import sys import os def download(url): chrome = 'Mozilla/5.0 (X11; Linux i86_64) AppleWebKit/537.36
-
Python实现多线程下载文件的代码实例
实现简单的多线程下载,需要关注如下几点:1.文件的大小:可以从reponse header中提取,如"Content-Length:911"表示大小是911字节2.任务拆分:指定各个线程下载的文件的哪一块,可以通过request header中添加"Range: bytes=300-400"(表示下载300~400byte的内容),注意可以请求的文件的range是[0, size-1]字节的.3.下载文件的聚合:各个线程将自己下载的文件块保存为临时文件,所有线程都完
-
python实现的简单FTP上传下载文件实例
本文实例讲述了python实现的简单FTP上传下载文件的方法.分享给大家供大家参考.具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能. #!/usr/bin/env python # -*- coding: utf-8 -*- from ftplib import FTP def ftp_up(filename = "20120904.rar"): ftp=FTP() ftp.set_debuglevel(2) #打开调试级别2,显示详细信息;0为关闭调试信息
-
python实现支持目录FTP上传下载文件的方法
本文实例讲述了python实现支持目录FTP上传下载文件的方法.分享给大家供大家参考.具体如下: 该程序支持ftp上传下载文件和目录.适用于windows和linux平台. #!/usr/bin/env python # -*- coding: utf-8 -*- import ftplib import os import sys class FTPSync(object): conn = ftplib.FTP() def __init__(self,host,port=21): self.c
-
python下载文件记录黑名单的实现代码
具体代码如下所示: #!/usr/bin/python # -*- coding: GBK -*- # -*- coding: UTF-8 -*- from ftplib import FTP import os import datetime ftp_server = '127.0.0.1' # 对应ftp服务器地址 username = 'ponshine' # 用户名 password = '1qaz2wsx' # 密码 ftp_path = '/GBCC/' # ftp目录 local_
-
Python多线程下载文件的方法
本文实例讲述了Python多线程下载文件的方法.分享给大家供大家参考.具体实现方法如下: import httplib import urllib2 import time from threading import Thread from Queue import Queue from time import sleep proxy = 'your proxy'; opener = urllib2.build_opener( urllib2.ProxyHandler({'http':proxy
-
python实现从网络下载文件并获得文件大小及类型的方法
本文实例讲述了python实现从网络下载文件并获得文件大小及类型的方法.分享给大家供大家参考.具体实现方法如下: import urllib2 from settings import COOKIES opener = urllib2.build_opener() cookies = ";".join("%s=%s" % (k, v) for k, v in COOKIES.items()) opener.addheaders.append(('Cookie', c
-
python实现从ftp服务器下载文件的方法
本文实例讲述了python实现从ftp服务器下载文件的方法.分享给大家供大家参考.具体实现方法如下: import ftplib ftp = ftblib.FTP("ftp.yourServer.com") ftp.login("username","password") filename = "index.html" ftp.storlines("STOR "+filename,open(filename
-
python下载文件时显示下载进度的方法
本文实例讲述了python下载文件时显示下载进度的方法.分享给大家供大家参考.具体分析如下: 将这段代码放入你的脚本中,类似:urllib.urlretrieve(getFile, saveFile, reporthook=report) 第三个参数如下面的函数定义report,urlretrieve下载文件时会实时回调report函数,显示下载进度 def report(count, blockSize, totalSize): percent = int(count*blockSize*10
-
python实现下载文件的三种方法
Python开发中时长遇到要下载文件的情况,最常用的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib从ftp站点下载文件.此外Python还提供了另外一种方法requests. 下面来看看三种方法是如何来下载zip文件的: 方法一: import urllib import urllib2 import requests print "downloading with urllib" url = 'http://www.jb51.net//te
随机推荐
- ASP.NET简单实现注销功能
- ASP+JS三级联动下拉菜单[调用数据库数据]
- PHP文件打开、关闭、写入的判断与执行代码
- PHP字符串中特殊符号的过滤方法介绍
- JavaScript类继承及实例化的方法
- Win7安装和配置Apache2.4服务器的详细方法
- Jquery性能优化详解
- Lua实现类继承
- C#运用FileInfo类实现拷贝文件的方法
- Linux下安装Oracle(CentOS-Oracle 12c)的方法
- Java猴子吃桃问题
- 全面解读PHP的Yii框架中的日志功能
- 5大关键词一定要牢记 取款遇吞卡不要轻易离开
- Java 判断字符为中文实例代码(超管用)
- 浅析jquery的作用与优势
- 四种php中webservice实现的简单架构方法及实例
- Android 全屏无标题栏的三种实现方法
- Android笔记之:onConfigurationChanged详解
- Spring之借助Redis设计一个简单访问计数器的示例
- Spring MVC拦截器的基本使用方法