为URL-Python编码字符串
我有以下URL需要为URL编码:为URL-Python编码字符串,python,web-scraping,urlencode,Python,Web Scraping,Urlencode,我有以下URL需要为URL编码:这是Reddit上当前的头条标题,直到皮条客们戴着许多在当铺买来的黄金珠宝“重新典当”以获得保释金,因为逮捕时现金被没收,但珠宝不是 我遇到了一个问题,因为这个字符串包含unicode字符,特别是引号 我尝试了urllib.quote\u plus(message),但这引发了以下异常: Traceback (most recent call last): File "testProgram.py", line 44, in <module>
这是Reddit上当前的头条标题,直到皮条客们戴着许多在当铺买来的黄金珠宝“重新典当”以获得保释金,因为逮捕时现金被没收,但珠宝不是
我遇到了一个问题,因为这个字符串包含unicode字符,特别是引号
我尝试了urllib.quote\u plus(message)
,但这引发了以下异常:
Traceback (most recent call last):
File "testProgram.py", line 44, in <module>
main() # Run
File "testProgram.py", line 41, in main
testProgram(headline) # Make phone call
File "testProgram.py", line 31, in testProgram
urllib.quote_plus(message)
File "/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1293, in quote_plus
s = quote(s, safe + ' ')
File "/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib.py", line 1288, in quote
return ''.join(map(quoter, s))
KeyError: u'\u201c'
回溯(最近一次呼叫最后一次):
文件“testProgram.py”,第44行,在
main()#运行
文件“testProgram.py”,第41行,在main中
测试程序(标题)#打电话
testProgram中第31行的文件“testProgram.py”
urllib.quote_plus(消息)
文件“/usr/local/ceral/python/2.7.8_1/Frameworks/python.framework/Versions/2.7/lib/python2.7/urllib.py”,第1293行,在引号中加上
s=报价单(s,safe+“”)
文件“/usr/local/ceral/python/2.7.8_1/Frameworks/python.framework/Versions/2.7/lib/python2.7/urllib.py”,第1288行,在引号中
返回“”。加入(映射(引用人)
键错误:u'\u201c'
有人知道为什么吗?如果
消息
是Unicode字符串,请尝试:
urllib.quote_plus(message.encode('utf-8'))
utf-8
在URL中没有被普遍使用(我不认为有一个普遍接受的标准,唉),但是由于它的“通用”性质,它非常流行(每个Unicode字符都可以用utf-8表示,这对于许多其他流行的编码来说都不是如此).如果消息
是Unicode字符串,请尝试:
urllib.quote_plus(message.encode('utf-8'))
utf-8
在url中没有被普遍使用(我认为没有一个被普遍接受的标准,唉),但由于它的“通用”性质,它非常流行(每个Unicode字符都可以用utf-8表示,这对于许多其他流行的编码来说都不是如此)