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")
相关推荐
Cloud_Shy6189 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
vim怎么退出10 分钟前
Dive into React——Diff 算法
前端·react.js·源码阅读
拾年27512 分钟前
别调 BERT 了:我用 Prompt 做了套 NLP 系统,20 分钟搞定
前端·人工智能
小徐敲java22 分钟前
Linux读取串口实时数据
linux·运维·服务器
半个落月32 分钟前
别再死记变量提升了——从 V8 编译过程真正理解 JS 执行机制
前端
橘子星41 分钟前
别再懵圈!JS 执行机制的 “千层套路” 全揭秘
前端·javascript
GuWenyue42 分钟前
LeetCode 76 最小覆盖子串|JS 滑动窗口标准解法
前端·算法·面试
YHHLAI43 分钟前
前端 HTTP 请求 & LLM 接口开发
前端·网络协议·http
拾年2751 小时前
__proto__ vs prototype:90% 的人分不清的 JavaScript 核心
前端·javascript·面试
国科安芯1 小时前
国科安芯推出商业航天级抗辐照半双工 RS485 收发器 ASC485S2Y
前端·单片机·嵌入式硬件·架构·安全性测试