-1

私はウィキペディア 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 に答える