zoukankan      html  css  js  c++  java
  • python3 urllib学习

    urllib 是Python内置的HTTP请求库

    • urllib.request 请求模块
    • urllib.error 异常处理模块
    • urllib.parse url解析模块
    • urllib.robotparser robots.txt解析模块

    urllib.request 请求模块

    request.urlopen() 
    常用参数:
    url
    data:如果有变成post方法,数据格式必须是application/x-www-from-unlencoded
    返回类文件句柄
    类文件句柄常用方法
    read(size):size=-1/none
    //读取
    readeline()
    //读取一行
    readelines()
    //读取多行
    close()
    //关闭
    getcode() //获取请求状态

    HTTPMessage方法
    文件句柄.info() 返回 httplib.HTTPMessage实例
    dir() 是一个内置函数,用于列出对象的所有属性及方法
    items()
    keys()
    values()

    request.urlretrieve()
    利用urlretrieve() 将数据下载到本地。
    常用参数:
    url
    finename 指定保存本地路劲
    reporthook 回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,显示下载进度
    data 指post到服务器的数据,该方法返回一个包含两个元素(filename,headers)的元组

    
    
    import sys,io
    from urllib import request,error

    sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码

    def progress(blk, blk_size, total_size):
    print('%d/%d - %.02f%%' % (blk * blk_size, total_size, (float)(blk * blk_size) * 100 / total_size))

    def retrieve():
    try:
    request.urlretrieve("http://blog.kamidox.com","test.html",reporthook=progress)
    except error.URLError as e:
    print(e.reason)
    except error.HTTPError as e:
    print(e.errno)
    if __name__ =="__main__":
    retrieve()
     

     urllib.error 异常处理模块

       主要的错误方式就两种 URLError(错误信息)和HTTPError(错误编码).

    urllib.parse url解析模块

    • urllib.parse.urlparse

      将对应的URL解析成六部分,并以元组的数据格式返回来。

    •  urllib.parse.urlunparse

      拼接url

    • urllib.parse.urljoin

      用来拼接url的方法 或者叫组合方法,url必须为一致站点,否则后面参数会覆盖前面的host

           

    
    
    
    
        


  • 相关阅读:
    [原创]浅谈测试团队转型,思维模式的转变是关键
    [原创]浅谈IT人如何做理财规划
    [原创]浅谈对华为34岁以上员工“退休”
    [原创]2017年1月读书推荐
    [原创] 上海利得基金招聘测试经理/测试工程师/测试开发工程师(长期有效)
    [原创]浅谈从“述职”向“述能”转变
    IBM的IT战略规划方法论
    腾讯企业大学培训经验
    [原创]Android App上线检查checklist
    移动开发规范
  • 原文地址:https://www.cnblogs.com/huy360/p/9717431.html
Copyright © 2011-2022 走看看