Python2.x 利用urllib.quote实现url地址编
背景介绍:
之前写的自动检索答题脚本遇到了一个问题:
就是检索汉字类的问题时总会出现乱码。因此有了这篇文章。需要对汉字进行编码的转换。
具体代码如下:
#!/usr/bin/python
import urllib
import sys
string = sys.argv[1]
string = unicode(string,"gbk")
utf8_string = string.encode("utf-8")
gbk_string=string.encode("gbk")
gbk=urllib.quote(gbk_string)
utf8=urllib.quote(utf8_string)
print gbk
print utf8
以上是转化编码的原理。
具体到之前的脚本中,是:
# -*- coding: cp936 -*-
# -*- coding: encoding -*-
from GetMouseimport Positons
import Quartz.CoreGraphicsas CG
import webbrowser
import os
import sys
#reload(sys)
#sys.setdefaultencoding('utf-8')
import urllib
a = Positons()
(x1,y1,x2,y2) = (905.88671875, 202.92578125, 1224.01171875, 408.578125)
region = CG.CGRectMake(x1,y1,x2,y2)
file_path ="/Users/didi/Safe/Study/MyFun/screeshot.png"
a.screenshot(file_path,region=region)
text = a.trans_pic(file_path)
print(text.__class__)
print(text)
#url = "https://www.baidu.com/s?wd=%s&tn=cnopera&ie=utf-8" %text
text_uni = text.encode('utf-8')
text_url = urllib.quote(text_uni)
url =u"https://www.baidu.com/s?wd=%s" %text_url
print(url)
os.system("python -m webbrowser -t "+url)
#webbrowser.open(url)
亲测有效!