在python中,如果想从http地址(通常是一个url)中提取信息,比如协议(http或https)、主机名(域名或ip地址)、路径等,你可以使用urllib.parse模块中的urlparse函数。下面是如何使用urlparse来截取http地址中不同部分的示例:
导入模块
首先,需要导入urllib.parse模块:
from urllib.parse import urlparse
使用urlparse函数
然后,可以使用urlparse
函数来解析url:
url = "http://www.example.com/path/to/resource?key=value#fragment" parsed_url = urlparse(url)
访问解析后的url的各个部分
urlparse
返回一个六元素的命名元组(或者在新版本的python中是11元素的命名元组,包括查询参数和片段),可以通过属性名访问这些部分:
print("scheme:", parsed_url.scheme) # 协议(例如 http 或 https) print("netloc:", parsed_url.netloc) # 网络位置(例如 www.example.com) print("path:", parsed_url.path) # 路径(例如 /path/to/resource) print("params:", parsed_url.params) # 参数(不常见,通常为空) print("query:", parsed_url.query) # 查询参数(例如 key=value) print("fragment:", parsed_url.fragment) # 片段标识符(例如 fragment)
完整代码如下:
from urllib.parse import urlparse url = "http://www.example.com/path/to/resource?key=value#fragment" parsed_url = urlparse(url) print("scheme:", parsed_url.scheme) # 输出: http print("netloc:", parsed_url.netloc) # 输出: www.example.com print("path:", parsed_url.path) # 输出: /path/to/resource print("query:", parsed_url.query) # 输出: key=value print("fragment:", parsed_url.fragment) # 输出: fragment
python截取url拼接内容
import urllib.parse as urlparse def urlintercept(url): parse = urlparse.urlparse(url) querys = urlparse.parse_qs(parse.query) querys1 = {k: v[0] for k, v in querys.items()} # print(querys1) return querys1 a = 'http://192.168.110:9090/test/api/v1?a=a.b.c.d&b=1212&c=vzabcdew0u74xrm8cttyhg==' ve = urlintercept(a) print(ve) print(ve["a"])
到此这篇关于python实现url地址截取的方法的文章就介绍到这了,更多相关python url地址截取内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论