解析编码的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用的类库: python2版本: from urlparse import urlparse import urllib ...另外host为‘s.weibo.com’的url编码与其他不同要另做处理。 代码如下:有些网站的规则还不是很清楚,需要花大量时间
本文实例讲述了Python Django框架url反向解析实现动态生成对应的url链接。分享给大家供大家参考,具体如下: url反向解析:根据url路由规则,动态生成对应的url链接 (防止硬编码)。 url反向解析应用在两个地方:...
在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL。 什么是Beautiful Soup? Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树...
Python 爬虫之超链接 url中含有中文出错及解决办法 python3.5 爬虫错误: UnicodeEncodeError: 'ascii' codec can't encode characters 这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不...
url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,...+ URL 中+号表示空格 + 空格 URL中的空格可以用+号或者编码 / 分隔目录和子目录 / ? 分隔实际的URL和参数
lib更加方便,urlLib库可以处理客户端的请求和服务器端的请求,还可以解析URL地址 Requests 使用的是 urllib3,继承了它的所有特性 Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持...
data:附加参数(from表数据),bytes字节流格式,如果是字典型(dict),先用urllib.parse.urlencode()编码。 headers:请求头,字典类型,可以构造请求时直接通过headers参数构造,或通过add_header() 3)response:...
主要介绍了python爬虫把url链接编码成gbk2312格式过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
有时解析特定的地理编码提供程序可能非常困难,因为每个提供程序都有自己的 JSON 模式。 这是使用 Python 从 Google 检索 Lat & Lng 的典型示例,事情不应该这么难。 >> > import requests >> > url = '...
URL解析库:Urllib 时间库:Time 时间库:Datetime 操作系统库:os 5.3编码方式 前端网页:GBK 服务器端:GBK 数据库:UTF-8 5.4运行环境 服务器:Windows7 SP1旗舰版 + Python2.7 前端:Opera...
python print(repr(“测试报警,xxxx是大猪头”.decode(“UTF8”).encode(“GBK”)).replace(“\\x”,”%”)) 注意第一个 decode(“UTF8”) 要与文件声明的编码一样。 最开始对这个问题的接触,来自于一个...
json格式数据中,需从'\uxxxx'形式的unicode_escape编码转换成u'\uxxxx'的unicode编码。 7. 自动化测试工具Selenium Selenium是一款自动化测试工具。它能实现操纵浏览器,包括字符填充、鼠标点击、获取元素、页面...
Python爬虫库的介绍 数据抓取与解析 HTML解析与XPath、CSS选择器的应用 JSON和XML数据的解析 动态网页爬取技术(如使用Selenium等) 反爬机制与应对策略 反爬机制的类型和常见手段 User-Agent设置和IP代理的应用 ...
在这个函数中,我们使用了requests库的get方法来发送HTTP请求,并设置了response的编码为网页的实际编码。如果请求成功,我们将返回response的文本内容;如果请求失败,我们将打印错误信息。 2. 然后,我们定义了一...
当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至’/’做一下编码转换。 所以对于一些中文或者字符,url不识别的,则需要...
13.9 修复Python 2.4的email.FeedParser 解析的消息 477 13.10 交互式地检查POP3邮箱 479 13.11 探测不活动的计算机 482 13.12 用HTTP监视网络 487 13.13 网络端口的转发和重定向 489 13.14 通过代理建立SSL...
BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快,推荐使用lxml 解析器。 爬取笑话大全: 冷笑话...
urllib 是 python 的内置模块, 主要用于处理url相关的一些操作,例如访问url、解析url等操作。 urllib 包下面的 request 模块主要用于访问url,但是用得太多,因为它的光芒全都被 requests 这个第三方库覆盖了,最...
多部分形式和url编码形式 流媒体支持 代理处理 HTTP过滤器,您可以使用自己的回调将请求挂接到响应中 兼容Python 2.x(> = 2.6) 文献资料 安装 restkit要求使用优于2.6的Python 2.x(即将推出对Python 3的支持) ...
03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作...