美文网首页
python3-urllib库

python3-urllib库

作者: bd4d0d78f248 | 来源:发表于2017-04-10 10:20 被阅读0次

介绍

python3 中的urllib 是一个包(package),有以下4个模块

  1. urllib.request:用于打开和读取URLs
  2. urllib.error:处理urllib.request抛出的异常错误信息
  3. **urllib.parse: **解析URLs
  4. urllib.robotparser:解析robots.txt 文件,不常用

urllib.request

以下简单介绍常用功能及用法。

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

urlopen() 打开一个url地址,返回一个HTTPResponse 对象

主要参数说明:
url:请求的url地址或者Request对象。Request对象可以从class urllib.request.Request 获取
data: 发送到服务器的数据,可以为空
timeout:阻塞超时等待时间,单位秒
cafile和capath:指定CA证书和路径,主要用于HTTPS的请求
cadefault:可以忽略

HTTPResponse 对象有以下方法

  • geturl():获取请求地址
  • info():获取服务端返回的Meta信息,主要有headers信息,如以下内容
Server: GitHub.com
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 07 Apr 2017 11:33:39 GMT
Access-Control-Allow-Origin: *
Expires: Fri, 07 Apr 2017 12:02:03 GMT
Cache-Control: max-age=600
X-GitHub-Request-Id: A3C2:0231:3603991:47BCC18:58E77D63
Content-Length: 1566
Accept-Ranges: bytes
Date: Sat, 08 Apr 2017 05:49:03 GMT
Via: 1.1 varnish
Age: 58
Connection: close
X-Served-By: cache-nrt6128-NRT
X-Cache: HIT
X-Cache-Hits: 1
X-Timer: S1491630543.117421,VS0,VE0
Vary: Accept-Encoding
X-Fastly-Request-ID: 846820755a6faeb6754042ec399c2c46a5841410
  • getcode():获取请求状态码,如请求成功,状态码是 200

urllib.request.Request 类

class urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

主要参数说明:
url:可用的地址
data:发送到服务器的数据
headers:必须是一个字典,定义一些浏览器信息如:User-Agent
method:发送请求的方法,如‘GET、POST’,data如果是空,则默认是GET方式请求;如果data不为空,则默认是POST方式请求

urllib.parse 模块

urllib.parse.urlparse(urlstring, scheme='', allow_fragments=True)

将一个url解析为6部分,该函数返回一个元组

>>> from urllib.parse import urlparse
>>> o = urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
>>> o   
ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
            params='', query='', fragment='')
>>> o.scheme
'http'
>>> o.port
80
>>> o.geturl()
'http://www.cwi.nl:80/%7Eguido/Python.html'

相关文章

  • python3-urllib库

    介绍 python3 中的urllib 是一个包(package),有以下4个模块 urllib.request:...

  • 公司数据库逻辑

    pro库 drds库 通道库 查询库 pg库 bi库 tidb库 odps查询 pro库和drds库是线上数据库 ...

  • Lua库函数概览

    Lua库函数概览数学库 table库 字符串库 IO库 os库 调试库

  • Swift 静态库调研

    一、关于库的背景知识1、静态库和动态库静态库动态库系统动态库Cocoa Touch Framework静态库 v....

  • iOS 创建静态库(.a)

    静态库(.a) 文章类型: 学习笔记 1. 静态库简介 库的概念: 什么是库? 库的分类: 库的存在形式: 静态库...

  • 目录一、库二、静态库、动态库、Framework三、打包静态库 1、.a静态库和.framework静态库的区别 ...

  • iOS 静态库和动态库的制作

    静态库和动态库 一、静态库和动态库的存在形式 静态库: .a 和 .framework 动态库: .dylib 和...

  • 动态库与静态库相互连接

    动态库--动态库 场景:App --> 动态库A --> 动态库 B 存在问题:动态库B应该的路径 = 动态库A的...

  • Python解析库

    Python解析库 目录一、lxml库二、BeautifulSoup库三、PyQuery库 一、lxml库 教程:...

  • HCMediator组件化详解

    组件化创建流程库 组件化需要创建私有spec库(索引库)、HCMediator库(App中介库)、其他组件库 私有...

网友评论

      本文标题:python3-urllib库

      本文链接:https://www.haomeiwen.com/subject/wuiusttx.html