当前位置: 首页 > news >正文

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

文章目录

  • 目录搜索 os、shutil库
  • 数据爬虫 request、re
  • 作业:爬取案例的top250电影的关键信息(名称、类型、日期),并保存在表格中

目录搜索 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):移动文件

# 深度优先搜索文件 (目录搜索)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保存到resultresult.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

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

# 网络爬虫# spider.py:网页下载、链接提取、数据存储
# 查看豆瓣网top250(25页,每页25条)的电影简介地址,换行存入到txt中import requests
import reurl = "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电影的关键信息(名称、类型、日期),并保存在表格中

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • tcp为啥是三次握手,不是四次、两次?
  • 【ESP01开发实例】-ESP-01驱动DHT11和DH22传感器
  • 软件测试个人求职简历该怎么写,模板在这里
  • 文档编辑协作神器,全方位解决方案,灵活部署赋能个人与企业-onlyoffice
  • springboot+ mybatis + oracle 代码生成器代码
  • Python面试整理-异常处理
  • 区块链核心概念与技术架构简介
  • 软考:软件设计师 — 9.数据流图
  • 使用Langchain构建简单的数据库Agent
  • 【Rust光年纪】探索Rust语言中的音视频处理库:功能与应用概述
  • python实现微信聊天图片DAT文件还原
  • LeetCode 572.另一棵树的子树 C写法
  • Day3-shell脚本编程
  • LLM:flash-attention概述
  • 药明康德:头顶达摩克利斯之剑
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • angular组件开发
  • C++入门教程(10):for 语句
  • echarts花样作死的坑
  • Git学习与使用心得(1)—— 初始化
  • input实现文字超出省略号功能
  • Javascript Math对象和Date对象常用方法详解
  • Java应用性能调优
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 包装类对象
  • 好的网址,关于.net 4.0 ,vs 2010
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 京东美团研发面经
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 如何在GitHub上创建个人博客
  • 实现简单的正则表达式引擎
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 一个JAVA程序员成长之路分享
  • 转载:[译] 内容加速黑科技趣谈
  • 阿里云ACE认证学习知识点梳理
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​虚拟化系列介绍(十)
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $refs 、$nextTic、动态组件、name的使用
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (27)4.8 习题课
  • (4)STL算法之比较
  • (6)设计一个TimeMap
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (简单) HDU 2612 Find a way,BFS。
  • (篇九)MySQL常用内置函数
  • (算法)N皇后问题
  • .Family_物联网
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置