`
Ryee
  • 浏览: 286937 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

URL编码解析python

阅读更多

解析编码的python脚本,我们经常看到从搜索引擎过来的referr带有很长的一串编码,如果能将其转化成我们可以看得懂的汉字呢,下面是一个小的脚本来完成这样的事情。感谢cocobear的提供。

import urllib
import sys,getopt,re
__doc__ = """Usage:
           ./url2read.py -h
           ./url2read.py -r ftp://cocobear.info/中国
           ./url2read.py http://cocobear.info/%E4%B8%AD%E5%9B%BD
       """

 
def url2read(s):

    s = urllib.unquote(s)
    try: 
            s = s.decode('utf-8')
    except UnicodeDecodeError:
            s = s.decode('gbk')
    finally:
            print s.encode(sys.stdin.encoding)


def read2url(s):
    head = ''
    g = re.search('^(http|ftp://)(.*)',s)
    if g:
        head = g.group(1)
        s = g.group(2)
    gbk = urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))

    utf8 = urllib.quote(s.decode(sys.stdin.encoding).encode('utf-8'))
    if gbk == utf8:
        print head+gbk
        return 0
    else:
        print "UTF8:\n"+head+utf8
        print "GBK:\n"+head+gbk
        return 0

def main(argv=None):
    f = False
    if len(sys.argv) < 2:
        print __doc__
        return 1
    try:
        opts,args = getopt.getopt(sys.argv[1:],"h,r",["help","reverse"])
    except getopt.error,msg:
        print msg
        print __doc__
        return 1
    for o,a in opts:
        if o in ("-h","--help"):
            print __doc__
            return 0
        if o in ("-r","--reverse"):
            f = True
    for arg in args: 
        if f:
            return read2url(arg)
        else:
            return url2read(arg)
    
    
if __name__ == "__main__":
    sys.exit(main())

   

 

做个示例,使用该程序在命令行下获取“\”的URL 编码:
[cocobear@cocobear sn]$ ./url2read.py -r ""'\'""
GBK:
%5C
UTF8:
%5C

注意这里由于存在shell的解释,需要这样把“\”围起来。

这个脚本可以很好的在Linux与Windows下使用,贴代码:

 

分享到:
评论

相关推荐

    URL编码 URL编码

    在实际编程中,大多数编程语言都提供了内置函数来自动进行URL编码和解码,如JavaScript的`encodeURIComponent()`和`decodeURIComponent()`,Python的`urllib.parse.quote()`和`urllib.parse.unquote()`等。...

    url编码转换器

    在实际应用中,URL编码不仅限于手动操作,许多编程语言如JavaScript、Python、Java等都提供了内置函数来自动处理URL编码和解码。例如,JavaScript中的`encodeURIComponent()`和`decodeURIComponent()`函数,可以方便...

    python解析url中关键字资料

    ### Python解析URL中关键字资料 #### 知识点概述 在Web开发与数据抓取过程中,经常需要对URL进行解析,以获取其中的关键字参数。本篇内容将围绕一段用于测试目的的URL集合,深入探讨如何使用Python语言来解析这些...

    urlcode解码-HTTP:URL编码解码

    另外,虽然在大多数情况下,URL编码遵循ASCII标准,但在Unicode环境中,URL编码也可以扩展到包含非ASCII字符,这通常被称为“ Punycode”转换。 在实际开发中,了解并正确使用URL编码和解码不仅能保证数据的完整性...

    Python编码规范(Google)

    本文将根据给定的“Python编码规范(Google)”文件内容,深入解析其中的关键知识点,并提供具体的实践建议。 #### 二、分号 **知识点:** - **避免使用分号:** 根据Google的Python编码规范,不推荐在行尾使用分号...

    url编码解码源代码

    在IT行业中,URL编码(又称为百分号编码)是一种用于在网络应用中表示非ASCII字符或特殊字符的标准。这种编码方式是HTTP协议的一部分,确保数据可以在URL中安全传输。本话题将详细探讨“url编码解码源代码”,以及...

    url编码

    1. **编程语言内置函数**:在大多数编程语言中,如Java、Python、JavaScript,都有内置的函数来处理URL编码和解码,例如JavaScript的 `encodeURIComponent()` 和 `decodeURIComponent()` 函数。 2. **在线工具**:...

    URL编码转换-模块

    在Python中,有一个内置的`urllib.parse`模块,它提供了URL编码和解码的功能。`urllib.parse.quote()`函数用于对字符串进行URL编码,将非字母数字字符转换为百分号编码形式。例如,空格会转换为"%20"。而`urllib....

    url编码表,转换编码

    URL编码的主要目的是确保数据在通过网络传输时能够正确解析,不会因为特殊字符导致问题。在网页表单提交、链接重定向或数据查询字符串中,URL编码是至关重要的。例如,如果你在一个搜索框输入包含空格的关键词,...

    python3处理含有中文的url方法

    URL编码是将非ASCII字符转换为%XX形式的过程,其中XX是该字符在UTF-8编码中的两位十六进制表示。Python中提供了`urllib.parse`模块来处理这种编码和解码。 在Python 3中,`urllib.parse`模块的`quote()`函数用于对...

    URL 编码文档

    URL编码是一种在网络应用中将特殊字符转换为安全的ASCII字符序列的过程,以确保URL的正确传输和解析。URL,全称Uniform Resource Locator,是统一资源定位符,是互联网上资源的唯一地址。实际上,URL是URI(统一资源...

    Python-yarl这个模块提供了用于url解析和更改的便捷的URL类

    通过使用`yarl`,我们可以更有效地处理URL,避免了许多常见的URL编码和解码问题,提高了代码的可读性和维护性。在实际开发中,结合`aiohttp`等异步库,`yarl`能帮助我们构建出高效的网络服务和客户端应用。

    Python-furl一个让处理URL更简单小型Python库

    3. **编码与解码**:furl库支持URL编码和解码,确保在处理特殊字符时的正确性。 4. **URL合并**:可以将两个furl对象合并,保留它们共同的部分,并合并不同的部分,这在处理多个URL时非常有用。 5. **安全**:furl...

    Encode_ Decode Tools URL编码解码工具

    本文将深入探讨URL编码的概念、用途、原理以及相关工具。 URL(Uniform Resource Locator,统一资源定位符)是互联网上的资源地址,它包括协议、主机名、路径、查询参数等部分。在某些情况下,URL中的某些字符可能...

    Python解析、提取url关键字的实例详解

    解析url用的类库: python2版本: from urlparse import urlparse import urllib ...另外host为‘s.weibo.com’的url编码与其他不同要另做处理。 代码如下:有些网站的规则还不是很清楚,需要花大量时间

    python抽取指定url页面的title方法

    整个过程涉及到的知识点主要包括Python爬虫技术、正则表达式的应用、字符编码转换、HTML解析技术等。在实际的网络爬虫项目中,除了提取网页标题,还可能需要提取网页中的其他各种信息,比如图片、链接、文本等,这些...

    Python资源之URL和DNS

    它提供了一个干净的 API,允许开发者轻松地操作 URL,例如解析 URL、合并 URL、对 URL 进行编码和解码等。purl 库非常小巧,但是功能强大,可以满足大多数开发者的需求。 URLfurl 是另一个小的 Python 库,用于操作...

    Python Django框架url反向解析实现动态生成对应的url链接示例

    本文实例讲述了Python Django框架url反向解析实现动态生成对应的url链接。分享给大家供大家参考,具体如下: url反向解析:根据url路由规则,动态生成对应的url链接 (防止硬编码)。 url反向解析应用在两个地方:...

    URL搜索关键字的编码

    在这个主题中,我们将深入探讨URL编码的原理、相关标准以及如何在Python中实现这一过程。 URL(统一资源定位符)是用于访问互联网资源的地址,它可能包含各种特殊字符,如空格、逗号或引号。然而,这些字符在HTTP...

    UrlEncodeDecode解码编码工具(双向)

    UrlDecode则是URL编码的逆过程,它将已经编码的URL转换回其原始形式,以便正确解析和理解。这在处理用户输入、解析查询参数或者在服务器端处理请求时非常有用。例如,"%20"会被解码为一个空格。 这个名为...

Global site tag (gtag.js) - Google Analytics