常用方法的介绍

一、关于urllib中常用方法的介绍

  • 1、urlopen网络请求

    urlopen方法是网络请求的方法,默认是get请求,如果传递了datapost请求

    from urllib import request
    
    if __name__ == "__main__":
        response = request.urlopen('http://www.baidu.com')
        print(response.read())
    
  • 2、urlretrieve下载文件

    from urllib import request
    
    if __name__ == "__main__":
        # 下载整个网页
        request.urlretrieve('http://www.baidu.com', 'baidu.html')
        # 下载图片
        request.urlretrieve('http://www.baidu.com/img/bd_logo1.png', 'baidu.png')
    

二、关于编码的处理

  • 1、urlencode将字典类型数据转换为parsed模式

    from urllib import parse
    
    if __name__ == "__main__":
        dict1 = {
            "name": "hello",
            "age": "20",
            "gender": "man"
        }
        re = parse.urlencode(dict1)
        print(re) # name=hello&age=20&gender=man
    
  • 2、parse_qsparse_qsl反序列化

    from urllib import parse
    
    if __name__ == "__main__":
        dict1 = {
            "name": "hello",
            "age": "20",
            "gender": "man"
        }
        re = parse.urlencode(dict1)
        print(re)
        print(parse.parse_qs(re))
    

三、切割url的方法

  • 1、urlspliturlparse方法

    from urllib import request, parse
    
    if __name__ == "__main__":
        url = 'http://www.baidu.com?name=hello&age=20'
        print(parse.urlsplit(url))
        print(parse.urlparse(url))
    
    # 输出
    # SplitResult(scheme='http', netloc='www.baidu.com', path='', query='name=hello&age=20', fragment='')
    # ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='name=hello&age=20', fragment='')
    

四、关于urljoin的使用

  • 1、拼接url地址

    from urllib import request
    
    if __name__ == "__main__":
        print(request.urljoin('http://www.baidu.com', '125'))
        print(request.urljoin('http://www.baidu.com', 'http://www.baidu.com/125'))
    
    # 输出
    # http://www.baidu.com/125
    # http://www.baidu.com/125
    

results matching ""

    No results matching ""