2012-10-18 2 views
-1

이외의 문자를 이스케이프하지만 문제는 내가 달러 기호와 같은 유사한 문자를 이스케이프 할 수없는 나는, 내가 시도

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

, 다음 그러나 그것은 작동하지 않았다 나는 w3school에서 이걸 발견하지만 모든 단일 문자에 대해이 작업을 확인하는 것은 고통 전체, 무엇이 strip.http://www.w3schools.com/tags/ref_urlencode.asp

,691이 탈출하는 가장 좋은 방법이 될 것이다 것

답변

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) 

당신은 단지 하나의 문자열에 대한 quote 기능을 사용할 수 있습니다 당신은 완전한 URL을 구축 할 필요가없는 경우 :

r['guiprop'] = urllib.quote(u'groups|merged|unattached') 
r['guiuser'] = urllib.quote(u'$cammer') 
+0

I :

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

그래서 당신이 끝을 파이 위키 봇 (pywiki bot)이라 불리는 API를 사용하고 있으므로 URL을 구성 할 필요가 없습니다. 어떻게 한 문자열 만 인코딩 할 수 있습니까? 고마워, 예를 들어 –

+0

$ cammer처럼 문제는 내가 user_names의 목록을 보낼 것이고 나는 문자열이 그런 문자를 대체하는 경우와 같은 것을하고 싶다. 이 작업을 수행하는 좋은 방법은 무엇입니까? –

+0

'quote'가 문제를 해결하지 못합니까? –

관련 문제