17.URLs
http://acm.fzu.edu.cn/problem.php?pid=1033
利用正则表达式来处理
import sys
import re
def check_urls(url_list):
for url in url_list:
protocol=re.search(r'(.*)://',url).group(1)
has_port=re.search(r':\d+',url)
if has_port:
port=has_port[0][1:]
else:
port='<default>'
has_path=re.match('.*://.*?/(.*)',url)
if has_path:
path=has_path.group(1)
else:
path='<default>'
if has_port:
host=re.match(r'.*://(.*):',url).group(1)
elif has_path:
host=re.match(r'.*//(.*)/',url).group(1)
else:
host=re.match(r'.*//(.*)',url).group(1)
print(url)
print('URL #'+str(url_list.index(url)+1))
print('Protocol = '+protocol)
print('Host = '+host)
print('Port = '+port)
print('Path = '+path)
print()
line_left=0
for read_in in sys.stdin.readlines():
if line_left==0:
line_left=int(read_in.rstrip())
url_list=[]
else:
url_list.append(read_in.rstrip())
line_left-=1
if line_left==0:
check_urls(url_list)