【Python体验】第五天:目录搜索、数据爬虫(评论区里写作业)

文章目录

目录搜索 os、shutil库

os 模块提供了非常丰富的方法用来处理文件和目录。

os.listdir(path):返回path指定的文件夹包含的文件或文件夹的名字的列表。

os.path 模块:获取文件的属性信息。

os.path.join(path1, path2\[, ...]):把目录和文件名合成一个路径

os.path.isdir(path) :判断路径是否为目录

os.path.isfile(path):判断路径是否为文件

shutil.move(file,target):移动文件

python 复制代码
# 深度优先搜索文件 (目录搜索)

import os # 导入os模块
import shutil # 实现移动文件的功能需要

# path代表待搜索的目录路径,result存储搜索到的文件路径列表
def dfs(path, result):
    child_files = os.listdir(path)
    for child in child_files:
        # 使用join拼接子目录或文件的路径
        child = os.path.join(path, child)
        # 将child保存到result
        result.append(child)
        if os.path.isdir(child):
            dfs(child, result)

files = []
dfs('.', files)

# 遍历files
for file in files:
    print("find %s" %file) #打印搜索到的路径
    if(os.path.isfile(file) and file.endswith('.xlsx')):
        # 移动当前目录下的excel文件到excel目录下
        shutil.move(file, '.\excel')

移动前:

移动后:

数据爬虫 request、re

网页数据爬虫实现了互联网网页自动化下载与自动化解析。通过爬虫,可以下载和分析网页。

python 复制代码
# 网络爬虫

# spider.py:网页下载、链接提取、数据存储
# 查看豆瓣网top250(25页,每页25条)的电影简介地址,换行存入到txt中

import requests
import re

url = "https://movie.douban.com/top250?start="
pageSize = 25
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
}
# 正则匹配
briefUrl = "https://movie.douban.com/subject/[0-9]+/"
txt = open("douban.txt", "a", encoding="utf-8")

# 爬取10页
for page in range(0, 10):
    resp = requests.get(url + str(page * pageSize), headers=headers)
    resp.encoding = "utf-8"
    # print(resp.text)

    # 通过findall从网页中提取符合briefUrl正则规则的网址
    links = re.findall(briefUrl, resp.text)
    # 去重
    arr = set(links)
    # print(links)
    for l in arr:
        # print(l)
        txt.write(l + "\n")
txt.close()

作业:爬取案例的top250电影的关键信息(名称、类型、日期),并保存在表格中

相关推荐
coder_Eight7 分钟前
从 3 天到 8 分钟:我如何把垂直科普内容做成了自动化流水线
python·ai编程
水獭比特8 分钟前
MCP SDK v2 迁移别只改依赖:先把 FastMCP 3/4 拆成两条测试线
人工智能·python
在线考试系统推荐9 分钟前
2026年7月最新实测:三大考试软件导入试题能力对比
人工智能·学习·系统架构
l12586513 分钟前
# RAG多轮对话检索设计:Query重写如何让“那它呢“变成完整问题
前端·数据库·人工智能·python·算法·fastapi·milvus
小弥儿16 分钟前
GitHub今日热榜 | 2026-08-20:Agent 上下文数据库接棒
数据库·学习·开源·github
sunoo-22923 分钟前
【C 语言标准 IO 入门】第二天学习笔记:文件操作核心函数 + 实战案例 + 踩坑合集
linux·笔记·vscode·学习
MartinYeung526 分钟前
[论文学习]MPMA:针对模型上下文协议的偏好操纵攻击
人工智能·学习·安全
dorky-org28 分钟前
03-Python基础
python·具身智能
如此这般英俊44 分钟前
手搓Claude Code-第十三章 background_tasks
前端·人工智能·chrome·python·算法·语言模型·自然语言处理
Είναι η κοπέλα1 小时前
PyTorch 模型导出与部署实战:ONNX + onnxruntime(可直接落地)
人工智能·pytorch·python