hozer

parseus

Sep 2nd, 2014
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. def parse_domain(url):
  2.     domain = ""
  3.    
  4.     dstart = url.find('://')
  5.     if dstart == -1:
  6.         dstart = 0
  7.     else:
  8.         dstart += 3
  9.  
  10.     dend = url[dstart:].find('/')
  11.     if dend == -1:
  12.         dend = len(url[dstart:])
  13.     else:
  14.         dend += dstart
  15.     domain = url[dstart:dend]
  16.    
  17.     rd = domain[::-1]
  18.     dot = rd.find('.') + 1
  19.     dot += rd[dot:].find('.')
  20.     domain = rd[dot-1::-1]
  21.    
  22.     return domain
  23.  
  24. def parse_params(url):
  25.     params = dict()
  26.     pstart = url.find('?') + 1
  27.     paramstr = url[pstart:]
  28.     i = 0
  29.     flag = True
  30.     param_name = ''
  31.     param_val = ''
  32.     while i < len(paramstr):
  33.         if paramstr[i] not in '=&':
  34.             if flag:
  35.                 param_name += paramstr[i]
  36.             else:
  37.                 param_val += paramstr[i]
  38.         elif paramstr[i] == '=':
  39.             flag = False
  40.         elif paramstr[i] == '&':
  41.             flag = True
  42.             params[param_name] = param_val
  43.             param_name = param_val = ''
  44.         i += 1
  45.     params[param_name] = param_val
  46.     return params
  47.    
  48. def parseus(url):
  49.     return parse_domain(url), parse_params(url)
Advertisement
Add Comment
Please, Sign In to add comment