当前位置: 首页 > news >正文

Python2/3下载文件

介绍

urllib是python的内建模块。所以支持Windows linux mac多系统。

urllib提供了一系列用于操作URL的功能。python2和python3在导入urlrequest的方式都不一样。 

python2是这样:import urllib2 
而python3里面把urllib分开了,分成了urlrequest和urlerror,在这里我们只需导入urlrequest即可。

from urllib.request import urlopen

使用:

在Python中,利用urllib.request.urlopen函数可以非常方便地,下载一个网络文件。

下面是下载本站logo的一个Python3代码示例:

import urllib.request

url = "https://www.tuziang.com/logo.png"
f = urllib.request.urlopen(url)
data = f.read()
with open("logo.png","wb") as code:
    code.write(data)

如果是python2,

import urllib2

url = "https://www.tuziang.com/logo.png"
f = urllib2.urlopen(url)
data = f.read()
with open("logo.png","wb") as code:
    code.write(data)

复制

详解:

函数原型如下:

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

url: 需要打开的网址
data:Post提交的数据
timeout:设置网站的访问超时时间

返回处理方法详解:

urlopen返回对象提供方法:
read() , readline() ,readlines() , fileno() , close() :对HTTPResponse类型数据进行操作
info():返回HTTPMessage对象,表示远程服务器返回的头信息
getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
geturl():返回请求的url

相关文章:

  • 福昕PDF阅读器 连续阅读
  • 快捷键到txt文件底部
  • M3U8视频下载为mp4
  • Windows下使用 cd 切换到defg盘没反应
  • Windows VScode Linter pylint is not installed
  • Windows下 命令提示符不能TAB补全
  • Javascript 需要手动添加分号;吗
  • VScode 恢复侧边栏
  • JavaScript dom编程艺术指南 Ajax不显示
  • github修改描述
  • idea选择括号内容快捷键
  • error: src refspec master does not match any
  • tomcat与java web开发技术详解第三版 光盘
  • Parameter index out of range (1 > number of parameters, which is 0).
  • Python csv空行问题
  • hexo+github搭建个人博客
  • C++11: atomic 头文件
  • const let
  • JavaScript的使用你知道几种?(上)
  • java概述
  • Laravel Mix运行时关于es2015报错解决方案
  • supervisor 永不挂掉的进程 安装以及使用
  • Terraform入门 - 3. 变更基础设施
  • TypeScript迭代器
  • Zepto.js源码学习之二
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 给初学者:JavaScript 中数组操作注意点
  • 爬虫模拟登陆 SegmentFault
  • 批量截取pdf文件
  • 前端攻城师
  • 数据结构java版之冒泡排序及优化
  • 数据科学 第 3 章 11 字符串处理
  • 小程序开发中的那些坑
  • 栈实现走出迷宫(C++)
  • ​iOS安全加固方法及实现
  • #Ubuntu(修改root信息)
  • (145)光线追踪距离场柔和阴影
  • (动态规划)5. 最长回文子串 java解决
  • (二)PySpark3:SparkSQL编程
  • (二十四)Flask之flask-session组件
  • (分布式缓存)Redis哨兵
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .net 托管代码与非托管代码
  • .NET建议使用的大小写命名原则
  • .Net下的签名与混淆
  • .NET学习全景图
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d