正则匹配与爬虫爬取图片路径综合练习

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

  • 匹配陕西省区号 029-12345

  • 匹配邮政编码 745100

  • 匹配邮箱 lijian@xianoupeng.com

  • 匹配身份证号 62282519960504337X

python 复制代码
import re
print(bool(re.fullmatch(r'^029-\d+$', '029-12345')))
print(bool(re.fullmatch(r'^\d{6}$', '745100')))
print(bool(re.fullmatch(r'^\w+@\w+\.\w+$', 'lijian@xianoupeng.com')))
print(bool(re.fullmatch(r'^\d{17}[\dXx]$', '62282519960504337X')))

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

python 复制代码
import requests
from bs4 import BeautifulSoup
import time

def log(f):
    def w(url):
        urls = f(url)
        print(f'[{time.strftime("%Y-%m-%d %H:%M:%S")}] 共爬取{len(urls)}张图片')
        return urls
    return w

@log
def get_imgs(url):
    try:
        res = requests.get(url, headers={'User-Agent':'Mozilla/5.0'}, timeout=10)
        soup = BeautifulSoup(res.text, 'html.parser')
        imgs = [i.get('src') for i in soup.find_all('img') if i.get('src')]
        with open('img_urls.txt', 'w', encoding='utf-8') as f:
            f.write('\n'.join(imgs))
        return imgs
    except:
        print('爬取失败')
        return []

get_imgs('https://nhjcxy.edu.cn/')
相关推荐
oh,huoyuyan3 小时前
火车采集器同时运行超多任务运行优化方案
爬虫·火车采集器
TlSfoward13 小时前
爬虫指纹漂移监控与回归测试:JA3/JA4 变化为什么会影响线上验证 TLSFOWARD
数据库·爬虫·网络协议·搜索引擎
Albart57514 小时前
Python爬虫请求头伪装后仍被反爬,基于代理池+随机延迟的绕过实战
开发语言·爬虫·python
小白学大数据1 天前
两周完成爬虫技术栈升级:Scrapy 迁移 Crawlo 的路径与取舍
爬虫·python·scrapy
深蓝电商API1 天前
用爬虫做量化交易:另类数据采集与因子挖掘
爬虫
小心我捶你啊1 天前
数据采集和Web解锁不是一回事,从用途到规则区分
前端·爬虫·网络协议
跨境观察员小周1 天前
2026 年实用指南:如何使用 XPath 进行网络爬虫与数据自动化提取?
运维·爬虫·自动化
上海云盾-小余1 天前
流量攻击详解:区分带宽耗尽与资源耗尽两类攻击
爬虫·安全·ddos
先吃饱再说2 天前
后端也能用 jQuery 爬网页?Cheerio 了解一下
爬虫·node.js·jquery
TlSfoward2 天前
从“爬虫被验证”到“验证误伤排查” TLSFOWARD抓包工具
爬虫