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")
相关推荐
IT_陈寒11 小时前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
金銀銅鐵12 小时前
[Python] 扩展欧几里得算法
python·数学·算法
Duckdblab12 小时前
DuckDB 性能调优终极指南:打造闪电般的分析体验
python
追逐时光者12 小时前
别再满网找零散工具了,腾讯 QQ 浏览器这个“帮小忙”工具箱真能省时间
前端·后端
带派擂总12 小时前
Python全栈开发精华版最全合集(包含各种面试题) Day24_异常和错误
python
Asmewill14 小时前
grep&curl命令学习笔记
前端
stringwu14 小时前
Flutter 开发必备:MVI 架构的高效实现指南
前端·flutter
用户21366100357215 小时前
Vue2组件化开发与父子通信
前端·vue.js
金銀銅鐵15 小时前
n^5 和 n 的个位数是否总相等?
python·数学
Momo__16 小时前
TypeScript satisfies 操作符——比 as 更安全的类型守门员
前端·typescript