-1

我正在使用 wikipedia api 并使用以下 api 请求,

http://en.wikipedia.org/w/api.php?`action=query&meta=globaluserinfo&guiuser='$cammer'&guiprop=groups|merged|unattached&format=json`

但问题是我无法逃脱美元符号和类似的字符,我尝试了以下但没有奏效,

    r['guiprop'] = u'groups|merged|unattached'
    r['guiuser'] = u'$cammer'

我在 w3school 中找到了它,但是检查每个字符都会很痛苦,在strip.http://www.w3schools.com/tags/ref_urlencode.asp

4

1 回答 1

1

你应该看看使用urlencode

from urllib import urlencode

base_url = "http://en.wikipedia.org/w/api.php?"

arguments = dict(action="query",
                 meta="globaluserinfo",
                 guiuser="$cammer",
                 guiprop="groups|merged|unattached",
                 format="json")
url = base_url + urlencode(arguments)

如果您不需要构建完整的 url,您可以对单个字符串使用quote函数:

>>> import urllib
>>> urllib.quote("$cammer")
'%24cammer'

所以你最终得到:

r['guiprop'] = urllib.quote(u'groups|merged|unattached')
r['guiuser'] = urllib.quote(u'$cammer')
于 2012-10-18T02:57:01.453 回答