美文网首页
python的urlib库(1)

python的urlib库(1)

作者: 特特小哥哥 | 来源:发表于2019-04-12 15:40 被阅读0次

    urlopen 函数

    此函数的作用爬取全部代码,源代码

    from urllib import request
    resp = request.urlopen('http://www.baidu.com')
    print(resp.read())

    以下对urlopen函数信息详细讲解:

    • url:请求的url
    • date:请求的date如果设置了这个值那么将变成post请求
    • 返回值:返回值是一个http.client.HTTPResponse对象,这个对象是一个类文件句柄对象。有read(sile)、readine、readlines以及getcode等方法
      • readline 读取一行
      • read()读取多少空为全部
      • readlines()多行显示
      • getcode()状态码

    urlretrieve函数

    用途:将网页上的一个文件保存到本地。下载

    from urllib import request
    request.urlretrieve('http://www.baidu.com','baidu.html')

    urlencode函数和parse_qs函数

    一个是将中文等字符串重新编码另一个刚好相反是将经过编码后的URL参数进行解码

    urlencode函数
    urlencode函数的用法# params = {'name':'张三',"age":18,'greet':'hello world'}# # result = parse.urlencode(params)# # print(result)# url = 'http://www.baidu.com/s'# params = {"wd":"刘德华"}# qs = parse.urlencode(params)# url = url + "?" + qs# resp = request.urlopen(url)# print(resp.read())

    parse_qs函数
    params = {'name':'张三',"age":18,'greet':'hello world'}
    qs = parse.urlencode(params)
    print(qs)
    result = parse.parse_qs(qs)
    print(result)

    urlparse和urlsplit函数

    对rul中的各个注册部分进行分割,就可以使用这两个函数进行分割代码

    from urllib import request,parse
    url = 'http://www.baidu.com/s;hello?wd=python&username=abc#1'# result = parse.urlparse(url)result = parse.urlsplit(url)
    print(result)
    print('scheme',result.scheme)
    print('netloc',result.netloc)
    print('path',result.path)
    print('query',result.query)
    print('fragment',result.fragment)

    两个函数基本上是一模一样的。唯一不一样的是‘urlparse’里面多了个'params'属性,而'urlsplit'没有这个属性:比如有 有一个'url'为:url = 'http://www.baidu.com/s;hello?wd=python&username=abc#1' 那么'urlparse'可以获取到'hello',而’urlsplit‘不可以获取到,一般params也用的比较少

    相关文章

      网友评论

          本文标题:python的urlib库(1)

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