Python 为Google Ajax搜索准备一个字符串?

Python 为Google Ajax搜索准备一个字符串?,python,url,google-api,google-ajax-api,Python,Url,Google Api,Google Ajax Api,我有像这样的字符串 ["Tabula Rasa", "façade", "DJ Tiësto"] 我正在使用基本url在Python中访问Google Ajax API: base = 'http://ajax.googleapis.com/ajax/services/search/web' '?v=1.0&q=%s' 我在使用这些字符串时遇到问题,注意到我必须转换某些字符 eg. "Tabula Rasa" --> "Tabula%20Rasa" 但是我有一个巨大的

我有像这样的字符串

["Tabula Rasa", "façade", "DJ Tiësto"]
我正在使用基本url在Python中访问Google Ajax API:

base = 'http://ajax.googleapis.com/ajax/services/search/web'
   '?v=1.0&q=%s'
我在使用这些字符串时遇到问题,注意到我必须转换某些字符

eg. "Tabula Rasa" -->  "Tabula%20Rasa"
但是我有一个巨大的字符串列表,我不知道如何为URL查询自动准备这些字符串


非常感谢您的帮助。

您需要的是urllib.quote():


如果您还没有将非ASCII字符串重新编码到Google AJAX API所期望的编码中,则可能需要将其重新编码到Google AJAX API所期望的编码中。

非常感谢您的回复。关于unicode字符我该怎么说?或者从html页面提取的字符?如果您有unicode,您首先需要将其编码为Google AJAX API所期望的编码(可能是UTF-8,所以
data.encode('UTF-8')
)如果您有从html页面提取的字符,我希望它们是unicode字符串——但是如果您将它们作为bytestring,使用网页使用的编码对其进行解码。然后像任何其他unicode对象一样编码到正确的编码中。谢谢Thomas。确实很有帮助!:)我会调查的。
>>> urllib.quote("Tabula Rasa")
'Tabula%20Rasa'