Python实战:使用re正则库匹配url中的id信息

简介: Python实战:使用re正则库匹配url中的id信息

需求

url 中有一个id信息,需要从url中匹配出来

匹配示例如下

# -*- coding: utf-8 -*-
import re
url = 'https://www.demo.com/goods/item/id/12562.html'
ret = re.match('.*/goods/item/id/(\d+)\.html', url)
print(ret.group(1))
# 12562

代码优化

我们单独给这个功能写一个函数,以便代码复用,不仅代码复用,同时也能增强代码美观

# -*- coding: utf-8 -*-
import re
def get_url_id(url):
    ret = re.match('.*/goods/item/id/(\d+)\.html', url)
    if ret:
        return ret.group(1)
if __name__ == '__main__':
    url = 'https://www.baidu.com/goods/item/id/12562.html'
    url_id = get_url_id(url)
    print(url_id)
    # 12562

命名组

使用正则命名组,能更优雅的处理匹配结果

# -*- coding: utf-8 -*-
import re
def get_url_id(url):
    ret = re.match('.*/goods/item/id/(?P<uid>\d+)\.html', url)
    if ret:
        #  {'uid': '12562'}
        return ret.groupdict().get('uid')
if __name__ == '__main__':
    url = 'https://www.demo.com/goods/item/id/12562.html'
    print(get_url_id(url))
    # 12562


相关文章
|
5月前
|
数据采集 存储 前端开发
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
Java爬虫开发:Jsoup库在图片URL提取中的实战应用
|
6月前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
55 3
|
6月前
|
数据采集 索引 Python
Python中这样操作url也太爽了吧
Python中这样操作url也太爽了吧
151 5
|
6月前
|
存储 NoSQL 算法
实战算法篇:设计短域名系统,将长URL转化成短的URL.
小米介绍了一种实用的短域名系统设计,用于将冗长的URL转化为简短链接。短链接不仅节省空间,便于分享,还能支持数据分析。系统通过唯一编号结合62进制转换生成短标识,并利用如Redis这样的数据库存储长链接与短标识的映射关系。最后,通过302重定向实现用户访问时的长链接恢复。这一方案适用于多种场景,有效提升用户体验与数据追踪能力。
132 9
|
7月前
|
存储 SQL Python
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
|
7月前
|
前端开发 安全 测试技术
【Python】已解决:The method is not allowed for the requested URL.
【Python】已解决:The method is not allowed for the requested URL.
673 3
|
8月前
|
Java
【实战演练】JAVA网络编程高手养成记:URL与URLConnection的实战技巧,一学就会!
【6月更文挑战第22天】在Java网络编程中,理解和运用URL与URLConnection是关键。URL代表统一资源定位符,用于标识网络资源;URLConnection则用于建立与URL指定资源的连接。通过构造URL对象并调用openConnection()可创建URLConnection。示例展示了如何发送GET请求读取响应,以及如何设置POST请求以发送数据。GET将参数置于URL,POST将参数置于请求体。练习这些基本操作有助于提升网络编程技能。
96 3
|
8月前
|
安全 数据安全/隐私保护
应急响应-战后溯源反制&社会工程学&IP&ID追踪&URL反查&攻击画像
应急响应-战后溯源反制&社会工程学&IP&ID追踪&URL反查&攻击画像
107 1
|
8月前
|
存储 缓存 Android开发
安卓Jetpack Compose+Kotlin, 使用ExoPlayer播放多个【远程url】音频,搭配Okhttp库进行下载和缓存,播放完随机播放下一首
这是一个Kotlin项目,使用Jetpack Compose和ExoPlayer框架开发Android应用,功能是播放远程URL音频列表。应用会检查本地缓存,如果文件存在且大小与远程文件一致则使用缓存,否则下载文件并播放。播放完成后或遇到异常,会随机播放下一首音频,并在播放前随机设置播放速度(0.9到1.2倍速)。代码包括ViewModel,负责音频管理和播放逻辑,以及UI层,包含播放和停止按钮。

热门文章

最新文章

推荐镜像

更多