“Python的url解析库--urlparse”的版本间的差异
跳到导航
跳到搜索
docker>Evan |
|||
(未显示同一用户的1个中间版本) | |||
第1行: | 第1行: | ||
<pre> | <pre> | ||
+ | 2024 eg | ||
+ | |||
+ | ➜ tmp py3 1.py | ||
+ | 80 | ||
+ | ➜ tmp cat 1.py | ||
+ | |||
+ | from xmlrpc.client import ServerProxy | ||
+ | from os.path import join, isfile | ||
+ | from xmlrpc.server import SimpleXMLRPCServer | ||
+ | from urllib.parse import urlparse | ||
+ | import sys | ||
+ | def get_port(url): | ||
+ | name = urlparse(url)[1] | ||
+ | parts = name.split(':') | ||
+ | return int(parts[-1]) | ||
+ | return name | ||
+ | |||
+ | print(get_port('http://192.168.10.2:80')) | ||
+ | ➜ tmp | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
将URL解析为六个组件,返回一个6元组。这对应于URL的一般结构:scheme:// netloc / path; parameters?query#fragment。每个元组项都是一个字符串,可能是空的。组件不会在较小的部分分解(例如,网络位置是单个字符串),并且%转义不会展开。如上所示的分隔符不是结果的一部分,除了路径组件中的前导斜杠,如果存在则保留。 | 将URL解析为六个组件,返回一个6元组。这对应于URL的一般结构:scheme:// netloc / path; parameters?query#fragment。每个元组项都是一个字符串,可能是空的。组件不会在较小的部分分解(例如,网络位置是单个字符串),并且%转义不会展开。如上所示的分隔符不是结果的一部分,除了路径组件中的前导斜杠,如果存在则保留。 |
2024年9月9日 (一) 01:57的最新版本
2024 eg ➜ tmp py3 1.py 80 ➜ tmp cat 1.py from xmlrpc.client import ServerProxy from os.path import join, isfile from xmlrpc.server import SimpleXMLRPCServer from urllib.parse import urlparse import sys def get_port(url): name = urlparse(url)[1] parts = name.split(':') return int(parts[-1]) return name print(get_port('http://192.168.10.2:80')) ➜ tmp 将URL解析为六个组件,返回一个6元组。这对应于URL的一般结构:scheme:// netloc / path; parameters?query#fragment。每个元组项都是一个字符串,可能是空的。组件不会在较小的部分分解(例如,网络位置是单个字符串),并且%转义不会展开。如上所示的分隔符不是结果的一部分,除了路径组件中的前导斜杠,如果存在则保留。 In [5]: url = 'http://localhost:4242' In [6]: name = urlparse(url)[1] In [7]: print name localhost:4242 In [8]: parts = name.split(':') In [9]: parts[-1] Out[9]: '4242' #这个func 从url中提取端口号 P412 如果 In [10]: name = urlparse(url) In [11]: print name ParseResult(scheme='http', netloc='localhost:4242', path='', params='', query='', fragment='') 注意: 在Python3中, urlparse已经被移动到urllib.parse中。 在urlparse中有两个函数:urlparse.parse_qs()和urlparse.parse_qsl()。这两个函数都能解析url中的query字段。如果url的query中有同一个key对应多个value,其中urlparse.parse_qs()可以把该相同key的value放在一个list中。