python第五次作业

1.使用正则完成下列内容的匹配

  • 匹配陕西省区号 029-12345

  • 匹配邮政编码 745100

  • 匹配邮箱 lijian@xianoupeng.com

  • 匹配身份证号 62282519960504337X

python 复制代码
import re
#- 匹配陕西省区号 029-12345
print(re.match(pattern=r"^029-\d{5}$", string="029-12345"))
#- 匹配邮政编码 745100
print(re.match(pattern=r"^\d{6}$", string="745100"))
#- 匹配邮箱 lijian@xianoupeng.com
print(re.match(pattern=r"^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+\.[a-zA-Z0-9_-]+$", string="lijian@xianoupeng.com"))
#- 匹配身份证号 62282519960504337X
print(re.match(pattern=r"^\d{17}[\dXx]$", string="62282519960504337X"))

2.爬取学校官网,获取所有图片途径并将路径存储在本地文件中,使用装饰器完成

python 复制代码
import requests
import re

def log_crawl(func):
    def wrapper(url):
        print(f"开始爬取:{url}")
        result = func(url)  # 执行核心爬取函数
        print(f"爬取完成,共提取{len(result)}条图片路径")
        return result
    return wrapper

@log_crawl
def get_img_urls(url):
    res = requests.get(url, headers={"User-Agent": "Mozilla/5.0"})
    res.encoding = "utf-8"
    return re.findall(r'<img src="(.*?)"', res.text)

if __name__ == "__main__":
    url = "https://www.gsau.edu.cn/"
    img_list = get_img_urls(url)
    with open("学校图片地址.txt", "w", encoding="utf-8") as f:
        f.write("\n".join(img_list))
    print("路径已保存到 学校图片地址.txt")
相关推荐
Java后端的Ai之路23 分钟前
Text-to-SQL与智能问数完全指南:基本概念、核心原理、Python实战教学及企业项目落地
数据库·python·sql·text-to-sql·智能问数
2301_7826591827 分钟前
如何使用Navicat连接云端MariaDB_白名单与实例配置
jvm·数据库·python
还有你Y4 小时前
Shell 脚本语法
前端·语法·sh
踩着两条虫6 小时前
如何评价VTJ.PRO?
前端·架构·ai编程
2301_803875617 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623927 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
Mh7 小时前
鼠标跟随倾斜动效
前端·css·vue.js
桌面运维家7 小时前
IDV云桌面vDisk机房网络管控访问限制部署方案
运维·服务器·网络
ShineWinsu7 小时前
对于Linux:动静态库的制作与原理的解析—下
linux·运维·服务器·进程·链接·虚拟地址空间·
2501_914245937 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python