class_docstr: Baidu Geocoding API
  ===================
  Baidu Maps Geocoding API is a free open the API, the default quota
  one million times / day.
  
  Params
  ------
  :param location: Your search location you want geocoded.
  :param key: Baidu API key.
  :param referer: Baidu API referer website.
  
  References
  ----------
  API Documentation: http://developer.baidu.com/map
  Get Baidu Key: http://lbsyun.baidu.com/apiconsole/key
class_docstr_tok: ["Baidu","Geocoding","API","===================","Baidu","Maps","Geocoding","API","is","a","free","open","the","API",",","the","default","quota","one","million","times","\/","day",".","Params","--","--","--",":","param","location",":","Your","search","location","you","want","geocoded",".",":","param","key",":","Baidu","API","key",".",":","param","referer",":","Baidu","API","referer","website",".","References","--","--","--","--","--","API","Documentation",":","http",":","\/\/developer.baidu.com\/map","Get","Baidu","Key",":","http",":","\/\/lbsyun.baidu.com\/apiconsole\/key"]
docstr: Signs a request url with a security key.
docstr_tok: ["Signs","a","request","url","with","a","security","key","."]
code: def _sign_url(self, base_url, params, security_key):
      """
      Signs a request url with a security key.
      """
      import hashlib
  
      if six.PY3:
          from urllib.parse import urlencode, quote, quote_plus
      else:
          from urllib import urlencode, quote, quote_plus
  
      if not base_url or not self.security_key:
          return None
  
      params = params.copy()
      address = params.pop("address")
  
      url = base_url + "?address=" + address + "&" + urlencode(params)
      encoded_url = quote(url, safe="/:=&?#+!$,;'@()*[]")
  
      signature = quote_plus(encoded_url + self.security_key).encode(
          "utf-8"
      )
      encoded_signature = hashlib.md5(signature).hexdigest()
  
      return encoded_signature
  
imports: from __future__ import absolute_import
  from collections import OrderedDict
  import logging
  import re
  import six
  from geocoder.base import OneResult, MultipleResultsQuery
  from geocoder.keys import baidu_key, baidu_security_key
label_desc: Use image node_id 3 for calling the BaiduQuery obj's underlying member method code with example usage: obj._sign_url(base_url, params, security_key) and returns: encoded_signature, None