精华内容
下载资源
问答
  • python进行URL编码

    千次阅读 2020-06-21 22:48:49
    在浏览器发送请求时会对表单请求数据与查询字符串进行一种URL编码,这种编码旨在将数据中的影响HTTP的字符进行转换,变为HTTP允许的字符,Python使用urllib库进行转换 from urllib import parse #数据对象 data ...

    在浏览器发送请求时会对表单请求数据与查询字符串进行一种URL编码,这种编码旨在将数据中的影响HTTP的字符进行转换,变为HTTP允许的字符,Python使用urllib库进行转换

     

    from urllib import parse
    
    #数据对象
    data = {
        "a":"1",
        "b":"3",
        "x":"张三",
        "y":"李四"
    }
    
    #进行url_encode编码,编码结果为查询字符串形式,即进行url编码,然后用a=1&b=2形式拼接键值对
    text = parse.urlencode(data)
    
    print(text)
    
    #进行url解码,但是不会将拼接形式转换为字典形式
    text1 = parse.unquote(text)
    
    print(text1)
    
    #进行url编码,但是这步会将&与=一起转码
    text2 = parse.quote(text1)
    
    print(text2)
    
    
    a = "我是大侦探"
    
    #url编码
    b = parse.quote(a)
    
    print(b)
    
    #url解码
    c = parse.unquote(b)
    
    print(c)

    执行结果为

    a=1&b=3&x=%E5%BC%A0%E4%B8%89&y=%E6%9D%8E%E5%9B%9B
    a=1&b=3&x=张三&y=李四
    a%3D1%26b%3D3%26x%3D%E5%BC%A0%E4%B8%89%26y%3D%E6%9D%8E%E5%9B%9B
    %E6%88%91%E6%98%AF%E5%A4%A7%E4%BE%A6%E6%8E%A2
    我是大侦探

     

    1.parse.urlencode

    url编码函数,参数为dict字典,会将字典键值对以查询字符串方式拼接,并且对每个值进行url编码,返回拼接后的字符串

     

    2.parse.quote

    输入输出都是字符串,单纯进行url编码

     

    3.parse.unquote

    输入输出都是字符串,单纯进行url解码

    展开全文
  • 使用python进行URL编码

    千次阅读 2020-03-08 23:25:26
    在写网络爬虫时,发现提交表单中的中文字符都变成了TextBox1=%B8%C5%C2%CA%C2%DB这种样子,观察这是中文对应的GB2312编码,实际上是进行了GB2312编码和urlencode。 那么为什么要对URL进行encod...

    原创:https://blog.csdn.net/qq_38607035/article/details/82594822

    为什么要对URL进行encode

    在写网络爬虫时,发现提交表单中的中文字符都变成了TextBox1=%B8%C5%C2%CA%C2%DB这种样子,观察这是中文对应的GB2312编码,实际上是进行了GB2312编码和urlencode。

    那么为什么要对URL进行encode?

    因为在标准的url规范中中文和很多的字符是不允许出现在url中的。为了字符编码(gbk、utf-8)和特殊字符不出现在url中,url转义是为了符合url的规范。

    具体代码

    urlencode编码:urllib中的quote方法

    import urllib.parse
    chinese_str = '中文'
    # 先进行gb2312编码
    chinese_str = chinese_str.encode('gb2312')
    # 输出 b'\xd6\xd0\xce\xc4'
    # 再进行urlencode编码
    chinese_str_url = urllib.parse.quote(chinese_str)
    # 输出 %D6%D0%CE%C4

    urldecode解码:urllib中的unquote方法

    # 由于编码问题会报错,还未解决
    urllib.parse.unquote('%D6%D0%CE%C4')
    # :的url编码为%3A,可输出 http://www.baidu.com
    urllib.parse.unquote('http%3A//www.baidu.com')

    其它应用

    URL中%u开头的字符

    在网页的表单参数中,还遇到过%u开头的字符,得知是中文对应的Unicode编码值 
    这里写图片描述 
    以下代码可以实现字符与unicode编码值的转换

    str = '姓名'
    # 获得urlencode编码
    str = str.encode('unicode_escape')
    print(str)
    # 输出 b'\\u59d3\\u540d'
    str=str.decode('utf-8')
    print(str)
    # 输出 \u59d3\u540d
    str=str.encode('utf-8')
    print(str)
    # 输出 b'\\u59d3\\u540d'
    str=str.decode('unicode_escape')
    print(str)
    # 输出 姓名

    hidden隐藏域对象作为表单参数

    在爬取ASP.NET平台的网站信息时,有VIEWSTATE、EVENTVALIDATION这样的hidden隐藏域对象,作为表单参数发送post请求,所以需要从网页源代码中获取。

    但post请求中的参数值是URL编码值,而网页源码中获取到的是URL解码值,所以需要进行urlencode编码。 
    这里写图片描述 
    这里写图片描述 
    这里写图片描述

    相关代码

    # 网页源码上得到之后,需要urlencode编码
    hid['VIEWSTATE'] = urllib.parse.quote(soup.find(id="__VIEWSTATE")['value'])

    相关工具

    谷歌浏览器的开发者工具中可以查看参数的urlencode和decode值 
    这里写图片描述 
    这里写图片描述

    在线URL编码/解码工具

    可选择编码格式为UTF-8或GB2312

    汉字字符集编码查询

    可查汉字的GB2312等中文编码和Unicode编码

    参考链接

    python中的urlencode和urldecode(代码)

    为什么请求时,需要使用URLEncode做encode转码操作

    字符与unicode编码值的转换decode(‘unicode_escape’)

    展开全文
  • 主要介绍了python实现中文转换url编码的方法,结合实例形式分析了Python针对中文的gbk与utf-8编码转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 今天小编就为大家分享一篇python字符串与url编码的转换实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 今天小编就为大家分享一篇Python爬虫:url中带字典列表参数的编码转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 文章目录为什么要进行url编码python中如何进行URL编码&解码 为什么要进行url编码 **很简单,因为url可以看做是一个很复杂的字符串,它里面有可能包含很多各式各样的字符。在很多应用场景中,这些字符可能导致...


    为什么要进行url编码

    **很简单,因为url可以看做是一个很复杂的字符串,它里面有可能包含很多各式各样的字符。在很多应用场景中,这些字符可能导致程序出错。所以我们就需要进行URL编码来防止/解决这个问题。


    python中如何进行URL编码&解码

    • python中的 urllib模块` 就可以解决这个问题
    • 老规矩:上代码…
    # _*_ coding : UTF-8 _*_
    # 开发人员: xiaoqiang
    # 开发时间: 2020/3/20  9:36
    # 文件名称: wechat_test.py
    # 开发工具: PyCharm
    import urllib.parse as up
    
    url = 'https://blog.csdn.net/xiaoqiangclub'
    ret = up.quote(url)  # url编码
    print(ret)
    
    ret = up.unquote(ret)  # url解码
    print(ret)
    
    # ----------执行结果--------------
    https%3A//blog.csdn.net/xiaoqiangclub
    https://blog.csdn.net/xiaoqiangclub
    
    展开全文
  • Python url编码和解码

    千次阅读 2019-08-16 13:21:38
    url编码有什么作用? Python怎么对url进行编码和解码? 导入模块 编码 解码 引题 我们上网的时候经常见到url中会有%25E6,这样有%号的字符,下面是51job的链接: https://search.51job.com/list/020000,...

     

    目录

    引题

    url编码有什么作用?

    Python怎么对url进行编码和解码?

    导入模块

    编码

    解码


    引题

    我们上网的时候经常见到url中会有%25E6,这样有%号的字符,下面是51job的链接:

    https://search.51job.com/list/020000,000000,0000,00,9,99,%25E6%25B7%25B1%25E5%25BA%25A6%25E5%25AD%25A6%25E4%25B9%25A0,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=

     

    %25E6%25B7%25B1%25E5%25BA%25A6%25E5%25AD%25A6%25E4%25B9%25A0

    是我搜索的关键字“深度学习”,这是url编码两次后的结果。

    通过在线url解码试试看解码的结果,我用的在线解码网址:https://www.sojson.com/encodeurl.html

    1、第一次解码,得到的结果是%后面加两个字符

    2、第二次解码,得到的就是正常的中文了。

    一般的,url编码后的规律:

    编码一次,%号后面加两个字符;

    编码二次,%号后面加四个字符;

    编码三次,%号后面加六个字符。

     

    url编码有什么作用?

    如果你搜索的关键词是“深度学习&机器学习”,中间有个url的特殊字符&,那么服务器收到这个get请求的时候就会出错,不知道如何去解析请求带的参数了,所以需要把这一整块进行编码。编码一次得到的结果是%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0&%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0,就已经没有特殊字符&,这样请求就没有问题,服务器拿到这个参数进行解码就能正常解析得到想要的参数。

     

    Python怎么对url进行编码和解码?

     

    导入模块

    import urllib.parse

    编码

    urllib.parse.quote(),对字符串进行url编码
    import urllib.parse
    kw="机器学习"
    kw1=urllib.parse.quote(kw)
    print(kw1)
    kw2=urllib.parse.quote(kw1)
    print(kw2)
    kw3=urllib.parse.quote(kw2)
    print(kw3)

    输出结果:

    %E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0
    %25E6%259C%25BA%25E5%2599%25A8%25E5%25AD%25A6%25E4%25B9%25A0
    %2525E6%25259C%2525BA%2525E5%252599%2525A8%2525E5%2525AD%2525A6%2525E4%2525B9%2525A0

    解码

    urllib.parse.unquote() ,对字符串进行url解码
    import urllib.parse
    kw="机器学习"
    # 编码
    kw1=urllib.parse.quote(kw)
    print(kw1)
    kw2=urllib.parse.quote(kw1)
    print(kw2)
    kw3=urllib.parse.quote(kw2)
    print(kw3)
    
    # 解码
    ym2=urllib.parse.unquote(kw3)
    print(ym2)
    ym1=urllib.parse.unquote(ym2)
    print(ym1)
    ym=urllib.parse.unquote(ym1)
    print(ym)

    输出结果:

    # 编码开始
    %E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0
    %25E6%259C%25BA%25E5%2599%25A8%25E5%25AD%25A6%25E4%25B9%25A0
    %2525E6%25259C%2525BA%2525E5%252599%2525A8%2525E5%2525AD%2525A6%2525E4%2525B9%2525A0
    
    # 解码开始
    %25E6%259C%25BA%25E5%2599%25A8%25E5%25AD%25A6%25E4%25B9%25A0
    %E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0
    机器学习

    最后得到我们的最原始的字符串!

     

     

     

     

     

     

    展开全文
  • 今天小编就为大家分享一篇对pythonurl参数编码与解码的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Pythonurl编码

    千次阅读 2018-05-23 13:55:46
    为什么要进行url编码 url带参数的请求格式为(举例): http://www.baidu.com/s?k1=v1&k2=v2 参数中包含中文或者?、=等特殊符号时,通过url编码,将data转化为特定格式, 将中文和特殊符号进行编码,...
  • PythonURL编码和解码

    千次阅读 2020-05-22 16:31:30
    在做接口测试时,时常会发现抓取的接口参数中...、=等特殊符号时,需要通过url编码,将data转化为特定格式k1=v1&k2=v2,并且将中文和特殊符号进行编码 ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:
  • 案例:爬取使用搜狗根据指定词条搜索到的页面数据...response = urllib.request.urlopen(url=url) # 3.获取响应对象中的页面数据:read函数可以获取响应对象中存储的页面数据(byte类型的数据值) page_text = respons
  • python3 的url编码

    千次阅读 2020-05-13 11:50:51
    最近做的项目中,有使用到对中文字符传入到url地址中,因此需要使用编码格式,将中文字符进行编码,方可得到正确的url地址。 解析 对url进行编码&解码。 导入urllib.parse模块,其中quote为编码,unquote为解码...
  • python3 url 编码 解码

    2020-07-18 21:31:40
    对于url编码的转换,主要用urllib.parse包中的quote和unquote方法。 quote进行解码,unquote进行编码。 代码实例: import urllib.parse u = "%E6%88%91%E7%88%B1%E4%B8%AD%E5%9B%BD" print("url解码:",urllib...
  • python2 对URL编码进行编译

    千次阅读 2018-07-06 12:49:00
    python2 对URL编码进行编译 在请求页面时有时会返回类似:%E8%AF%A5985%E5%A4%A7%E5%AD%A6%E5%B8%B8%E5%B9%B4%E4%BD%8D%E5%B1%85%E5%9B%BD%E5%86%85%E5%89%8D%E4%BA%的编码方式,为URL编码,查阅...
  • 因为很多时候要涉及到url的编码和解码工作,所以自己制作了一... url编码方法:url_bm() url解码方法:url_jm() def __init__(self,can,mazhi='utf-8'): self.can = can self.mazhi = mazhi def url_bm(self): url
  • Python笔记-对字符串进行URL编码及解码

    千次阅读 多人点赞 2020-04-11 19:23:46
    这里主要是记录下在HTTP封包中URL编码中的解析与编码 代码模板如下: from urllib import parse if __name__ == '__main__': ...... commitStr = parse.quote("嘤嘤嘤") print(parse.unquote(commitStr)) .....
  • python url编码与解码

    2019-06-14 15:25:47
    在通过浏览器修改数据库时,要对url内容进行编码 quote()编码; unquote()解码; 直接上代码:
  • 可以利用百度进行URL编码解码 默认gbk https://www.baidu.com/s?wd=中国 python3编码解码示例 # -*- coding: utf-8 -*- # @File : urldecode_demo.py # @Date : 2018-05-11 from urllib.request import quote, ...
  • python实现中文转换url编码的方法2文章来源:菜鸟教程...这篇文章主要介绍了python实现中文转换url编码的方法,结合实例形式分析了Python针对中文的gbk与utf-8编码转换的相关技巧,具有一定参考借鉴价值,需要的朋...
  • url编码形式,我用requests发送请求时会自动将%2e url解码为 . 。这样是不行的,必须要使用原始字符串方式进行发送 http://172.16.10.102:8080/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd 如下我用requests...
  • 提要:编码用urlencode()函数 解码用 (parse_qs) 图片: 代码: #encoding: utf-8 from urllib import request from urllib import parse keyword = {"wd":"庄宿正"} encode = parse.urlencode(keyword) ...
  • 不过,status中包含了一个mid字段,通过mid,我们实际上是可以通过计算得到url的。 在开始计算之前有必要说明一下,什么是base62编码。它实际上就是十进制和62位进制的互换。对于62进制,从0数到9以后,10用小写字母...
  • from urllib import parse params = { 'keyword':'哈哈哈', 'a':1, 'b':2 } params_1 = parse.urlencode(params) print(params_1) str = '·' str_1 = parse.quote(str) ...str_2 = parse.unquot...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,573
精华内容 35,829
关键字:

python进行url编码

python 订阅