详解使用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实现支持目录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实现多线程下载文件的代码实例
实现简单的多线程下载,需要关注如下几点: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实现下载文件的三种方法
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
-
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多线程下载文件的方法
本文实例讲述了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实现批量下载文件 #!/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实现从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,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exempt @require_http_methods(["POST"]) def uploadFiles(request): try: user = request.session.get('user') allFimeNames = "" #获取所有上传文件 files
随机推荐
- php MsSql server时遇到的中文编码问题
- win32使用openfilename浏览文件窗口示例
- jquery获取table中的某行全部td的内容方法
- 浅析C#与C++相关概念的比较
- asp.net post方法中参数取不出来的解决方法
- JavaScript调试的多个必备小Tips
- 查找页面中所有类为test的结点的方法
- .net 通过URL推送POST数据具体实现
- PHP删除HTMl标签的三种解决方法
- 用ASP读取XML文件的具体方法与示例
- MySql中取前几行数据使用limit来完成
- js正确获取元素样式详解
- 网页的标准,IMG不支持onload标签怎么办
- JQuery EasyUI 加载两次url的原因分析及解决方案
- PyQt5每天必学之带有标签的复选框
- Opencv3.4.0实现视频中的帧保存为图片功能
- Javassist之一秒理解java动态编程
- Vue实现table上下移动功能示例
- 详解Laravel设置多态关系模型别名的方式
- maven tomcat plugin实现热部署