美文网首页
Python_爬虫_parse模块下常用的url解析、合并、编码

Python_爬虫_parse模块下常用的url解析、合并、编码

作者: 暴走的金坤酸奶味 | 来源:发表于2018-12-23 18:07 被阅读0次

    使用时需导入

    form urllib import parse

    form urllib import parse
    #parse.urlparse实现了url的识别和分段
    url = 'https://www.1712B.com/daxuesheng?name=zhangsan#123'
    """
    url,:要解析和才分的url
    scheme='':设置协议,只有在url没有协议的情况下才会生效
    allow_fragments=True:是否忽略锚点,默认为True表示不忽略
    """
    result = parse.urlparse(url)
    """
    (scheme='https'(协议), netloc='www.1712B.com'(域), 
    path='/daxuesheng'(路径), params=''(可选参数), 
    query='name=zhangsan'(查询参数), fragment='123'(锚点))
    """
    print(result)
    #取出才分后的某一个参数
    print(result.scheme)
    
    打印结果
    """
    ParseResult(scheme='https', netloc='www.1712B.com', path='/daxuesheng', params='', query='name=zhangsan', fragment='123')
    https
    """
    #parse.urlunparse可以实现url的组合
    data = [sub_str for sub_str in result]
    print('-----',data)
    full_url = parse.urlunparse(data)
    print(full_url)
    打印结果
    """
    ----- ['https', 'www.1712B.com', '/daxuesheng', '', 'name=zhangsan', '123']
    https://www.1712B.com/daxuesheng?name=zhangsan#123
    """
    
    #parse.uurlrljoin需要传递一个基类url,根据基类将某一个不完整的url拼接完整
    sub_url = '/p/123456'
    base_url = 'https://www.1712B.com/daxuesheng?name=zhangsan#123'
    full_url = parse.urljoin(base_url,sub_url)
    print('urljoin',full_url)
    打印结果
    """
    urljoin https://www.1712B.com/p/123456
    """
    
    #parse.urlencode将字典类型的参数,序列化为url的编码格式的字符串
    parmars = {
        'name':'张三',
        'class':'1712B',
    }
    result = parse.urlencode(parmars)
    print('urlencode',result)
    打印结果
    """
    urlencode name=%E5%BC%A0%E4%B8%89&class=1712B
    """
    #parse.parse_qs反序列化,将url编码格式的字符串,转为字典类型
    #(键对应的值是列表)
    result = parse.parse_qs(result)
    print('parse_qs',result)
    
    打印结果
    """
    parse_qs {'name': ['张三'], 'class': ['1712B']}
    """
    #parse.quote可以将中文字符,转为url编码格式
    kw = '摸摸摸'
    result = parse.quote(kw)
    print('quote',result)
    
    #将url编码进行解码
    result = parse.unquote(result)
    print('unquote',result)
    打印结果
    """
    quote %E6%91%B8%E6%91%B8%E6%91%B8
    unquote 摸摸摸
    """
    # 最最常用的urljoin,urlencode两个方法

    相关文章

      网友评论

          本文标题:Python_爬虫_parse模块下常用的url解析、合并、编码

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