【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电影的关键信息(名称、类型、日期),并保存在表格中
相关文章:
【Python体验】第五天:目录搜索、数据爬虫(评论区里写作业)
文章目录 目录搜索 os、shutil库数据爬虫 request、re作业:爬取案例的top250电影的关键信息(名称、类型、日期),并保存在表格中 目录搜索 os、shutil库 os 模块提供了非常丰富的方法用来处理文件和目录。 os.listdir(path)&#x…...
elasticsearch性能调优方法原理与实战
❃博主首页 : 「码到三十五」 ,同名公众号 :「码到三十五」,wx号 : 「liwu0213」 ☠博主专栏 : <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 :…...
python print 函数参数:sep 自定义分隔符,end 自定义结尾符
1. 简述 print 函数可以将内容打印到标准输出,如果不指定 end 参数,默认在输出的内容之后加一个 “回车符\n”。 以下是 print 函数常用的参数用法: print(object, …, sepstr, endstr) object, …:要打印的内容,可以…...
git 使用场景
拉取分支 feature 以develop为基础 git checkout -b feature-x develop git checkout demobranch git branch 合并分支 idea 在feature 选 develop 合并到feature...
Ubuntu22.04 Docker更换阿里云镜像
由于运营商网络原因,会导致您拉取Docker Hub镜像变慢,甚至下载失败。那么可以更换阿里云镜像加速器,从而加速官方镜像的下载。 1.获取镜像加速器地址 登录容器镜像服务控制台,在左侧导航栏选择镜像工具 > 镜像加速器…...
Windows下Rust OpenCV环境配置
首发于Enaium的个人博客 安装Chocolatey 首先我们需要安装Chocolatey,Chocolatey是一个Windows的包管理器。 我们点击右上角的Install进入到Installing Chocolatey,选择Individual 复制命令 Set-ExecutionPolicy Bypass -Scope Process -Force; [Sys…...
PostgreSQL(二十三)TOAST技术
目录 一、TOAST简介 二、TOAST的存储方式 1、存储方式概述 2、实验:创建TOAST表 三、TOAST的4种压缩策略 1、策略说明 2、TOAST表额外的三个字段 四、TOAST表的计算方式 1、说明 2、实验:计算表大小 五、TOAST表的特点 1、优点 2、缺点 3、…...
文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《海上风氢系统与沿海电网能量协同优化调度》
本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…...
MySQL update set语句中 逗号与and的区别
语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法: UPDATE table_name SET column1 value1, column2 value2, ... WHERE condition; 参数说明: table_name 是你要更新数据的表的名称。column1, column2, ... 是你要更新的列的名称。v…...
C++面试---小米
一、static 关键字的作用,及和const的区别 static关键字作用: 1、在类的成员变量前使用,表示该变量属于类本身,而不是任何类的实例。 2、在类的成员函数前使用,表示该函数不需要对象实例即可调用,且只能访问…...
Java 实现 AVL树
在二叉平衡树中,我们进行插入和删除操作时都需要遍历树,可见树的结构是很影响操作效率的。在最坏的情况下,树成了一个单支树,查找的时间复杂度成了O(N),建树跟没建树一样。那么是不是有什么办法可以建一个树避免这种情…...
CNN卷积网络实现MNIST数据集手写数字识别
步骤一:加载MNIST数据集 train_data MNIST(root./data,trainTrue,downloadFalse,transformtransforms.ToTensor()) train_loader DataLoader(train_data,shuffleTrue,batch_size64) # 测试数据集 test_data MNIST(root./data,trainFalse,downloadFalse,transfor…...
深入理解Java中的时间处理与时区管理
在Java开发中,时间处理和时区管理是常见的需求,特别是在全球化应用中。Java 8引入了新的时间API(java.time包),使时间处理变得更加直观和高效。本文将详细介绍Java中的时间处理与时区管理,通过丰富的代码示…...
虚拟机windows server创建域
目录 准备工作 一、新建域控制器 二、提升为域控制器添加新林 三、新建组织单位(OU),用户 四、将计算机加域 五、在域控中管理计算机 六、在域控中配置组策略 七、域内计算机验证组策略配置 准备工作 安装域前,如果有DNS…...
Java 集合框架:Java 中的 Set 集合(HashSet LinkedHashSet TreeSet)特点与实现解析
大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 017 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自…...
springboot智能健康管理平台-计算机毕业设计源码57256
摘要 在当今社会,人们越来越重视健康饮食和健康管理。借助SpringBoot框架和MySQL数据库的支持,开发智能健康管理平台成为可能。该平台结合了小程序技术的便利性和SpringBoot框架的快速开发能力,为用户提供了便捷的健康管理解决方案。 通过智能…...
LetterBox图像预处理方法
LetterBox图像预处理方法就是要将不同分辨率的图像转换成固定分辨率,比如v8输入网络的固定分辨率为6406403,因此这里分享一下默认情况下对训练集、验证集和测试图片做的letterBox的方法。 1.LetterBox-Train 对于训练集,默认输入网络的图像尺寸为640640,假设有一张7201280…...
C++第五篇 类和对象(下) 初始化列表
目录 1.再探构造函数 2.类型转换 3.static成员 4.友元 friiend 1.再探构造函数 (1).之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有一种方式,就是初始化列表,初始化列表的使用方式是以一个冒…...
C#中的通信
上位机应用开发-串口通信1、基于C#的串口通信对象:SerialPort 2、字段属性 PortName:获取或设置通信端口 BaudRate:获取或设置串行波特率-DataBits:获取或设置每个字节的标准数据位长度 Parity:获取或设置奇偶校验检查协仪I-StopBits;获取或设置每个字节的标准停止位数 3、…...
CVE-2022-21663: WordPress <5.8.3 版本对象注入漏洞深入分析
引言 在网络安全领域,技术的研究与讨论是不断进步的动力。本文针对WordPress的一个对象注入漏洞进行分析,旨在分享技术细节并提醒安全的重要性。特别强调:本文内容仅限技术研究,严禁用于非法目的。 漏洞背景 继WordPress CVE-2…...
C语言笔试题(三)
本专栏通过整理各专业方向的面试资料并咨询业界相关人士,整合不同方向的面试资料,希望能为您的面试道路点亮一盏灯! 1 简单题 如何声明一个二维数组? 答案: int arr[3][4];解析: 二维数组可以看作数组的数组。 union和struct…...
minio笔记之windows下安装使用
minio安装使用 去官网下载安装包启动访问管理平台创建桶创建用户、资源授权访问访问策略创建创建用户创建accessKey,用于应用程序开发 去官网下载安装包 直接安装即可 启动 设置密码 set MINIO_ROOT_USERadmin set MINIO_ROOT_PASSWORD12345678 cd到安装目录 mi…...
代码随想录算法训练营day31 | 56. 合并区间、738.单调递增的数字
碎碎念:加油 参考:代码随想录 56. 合并区间 题目链接 56. 合并区间 思想 这道题的核心还是判断重叠区间,本题和之前做过的452. 用最少数量的箭引爆气球、435. 无重叠区间的区别在于判断出重叠区间之后的操作,本题需要做的是合…...
利用 Python 制作图片轮播应用
在这篇博客中,我将向大家展示如何使用 xPython 创建一个图片轮播应用。这个应用能够从指定文件夹中加载图片,定时轮播,并提供按钮来保存当前图片到收藏夹或仅轮播收藏夹中的图片。我们还将实现退出按钮和全屏显示的功能。 C:\pythoncode\new\…...
报表系统之Cube.js
Cube.js 是一个开源的分析框架,专为构建数据应用和分析工具而设计。它的主要目的是简化和加速构建复杂的分析和数据可视化应用。以下是对 Cube.js 的详细介绍: 核心功能和特点 1. 多数据源支持 Cube.js 支持从多个数据源中提取数据,包括 SQ…...
代码随想录算法训练营第45天
115.不同的子序列 但相对于刚讲过 392.判断子序列,本题 就有难度了 ,感受一下本题和 392.判断子序列 的区别。 代码随想录 class Solution {public int numDistinct(String s, String t) {int lenS s.length();int lenT t.length();int[][] dp new …...
solidity合约创建
合约可以通过使用new关键字来创建其他合约的实例。 这个过程会执行被创建合约的构造函数(如果存在的话),并返回一个指向新创建合约的地址的引用。 这种方式允许智能合约动态地在区块链上部署新合约,并与它们交互。 通过 new 创…...
队列---循环队列实现
循环队列详解 概述 循环队列是一种基于数组实现的队列数据结构,其中队列的队首和队尾是通过模运算连接起来形成一个逻辑上的环形结构。这样可以有效地利用数组的空间,避免出现“假溢出”的情况。 结构体定义 循环队列的结构体定义如下: …...
【视频讲解】后端增删改查接口有什么用?
B站视频地址 B站视频地址 前言 “后端增删改查接口有什么用”,其实这句话可以拆解为下面3个问题。 接口是什么意思?后端接口是什么意思?后端接口中的增删改查接口有什么用? 1、接口 概念:接口的概念在不同的领域中…...
双指针hard题
[LeetCode]4. Median of Two Sorted Arrays 中文 - YouTube 依赖merge sort和priorityqueue的废物 正式变身山景城一姐小迷妹✪ω✪ 寻找正序数组中位数 class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int len1 nums1.length;int len2 …...
线上咨询上门服务网站建设方案/搜索引擎优化实训
用户及文件权限管理 常用命令 查看用户 whoami 创建用户 sudo adduser 用户名 切换账户 su 用户名 删除账户 sudo deluser 用户名 --remove-home 查看用户组 groups 用户名 用户及文件权限管理 cat 文件 按照字典顺序输出 | sort 将用户添加到sudo用户组 sudo usermod -G sudo …...
wordpress命令执行时间/百度官网地址
Item 2:Prefer readonly to const 这个Item主要讲作为常量的两种形式(readonly和const)的区别。 const是编译时常量,指在编译时直接把这个静态常量直接替换成相应的数值readonly是运行时常量,指编译时任然是静态常量,在…...
广州网站优化费用/seo项目
对于开发人员来讲浏览器的缓存功能不是一件好事,因为缓存,导致我们想调试每次都得先CtrlShiftDelete手动清除缓存,这样很麻烦,因此设置让浏览器不保存缓存对程序员来说,是一件好事。 第一部分:设置google浏…...
做旅游行程的网站/域名查询入口
修改字段: ALTER TABLE user_info CHANGE NAME name VARCHAR(10); 修改表名alter TABLE user_role RENAME user_info;转载于:https://www.cnblogs.com/vanoraxnc/p/8950641.html...
网站建设型网站横幅(banner)图片/线上推广软件
目录 前言原文外貌描述身体与器官卫生健康身体不适身体检查情境常用单词外貌描述身体与器官卫生健康身体不适身体检查前言 加油 原文 外貌描述 1.appearance [əˈpɪrəns] n. 外貌 in appearance 外观上,外貌上 Do not judge people by their appearance. 别以貌取人…...
全局右下角弹窗wordpress/百度网盘登录
今天,阿里巴巴重磅推出了一项黑科技产品——AI谣言粉碎机,据称可以识别假新闻和网络谣言,并且在一些场景下准确率高达81%。不仅是阿里,今天各大科技公司也大开脑洞,先后发布多项黑科技,天马行空的想象让人大…...