- os库的作用
- 操作系统交互:os库提供了一种使用Python与操作系统进行交互的方式。使用os库来创建用于存储爬取数据的文件夹,或者获取当前工作目录的路径,以便将爬取的数据存储在合适的位置。
- 环境变量操作:可以读取和设置环境变量。在一些网络爬虫场景中,如果需要根据不同的环境(如开发环境和生产环境)来配置爬虫的行为,比如设置代理服务器地址等环境变量,os库就能发挥作用。
- 进程管理相关(部分功能):虽然不是os库的主要用途,但它也可以用于一些简单的进程相关操作,比如获取进程ID等。这在同时运行多个爬虫任务或者与其他程序协同工作时可能会用到。
- os库的常用方法
- os.getcwd()
-
功能:获取当前工作目录的路径。
-
示例 :
pythonimport os current_dir = os.getcwd() print(current_dir) -
用途:在网络爬虫中,当你要确定数据存储位置或者加载配置文件时,需要知道当前的工作路径。例如,你可以将爬取到的数据存储在当前工作目录下的一个特定文件夹中。
-
- os.mkdir()和os.makedirs()
-
功能:os.mkdir()用于创建单个新目录;os.makedirs()可以递归地创建目录,即可以创建多层嵌套的目录。
-
示例 :
python# 创建单个目录 import os new_dir = "data" os.mkdir(new_dir) # 创建多层目录 nested_dir = "data/subdata" os.makedirs(nested_dir) -
用途:在网络爬虫中,用于创建存储爬取数据的文件夹。比如,你可以根据日期或者网站名称来创建不同的文件夹,将爬取的数据分类存储。
-
- os.path.join()
-
功能:将多个路径组合成一个完整的路径。
-
示例 :
pythonimport os base_dir = "data" file_name = "result.txt" full_path = os.path.join(base_dir, file_name) print(full_path) -
用途:在网络爬虫中,用于构建存储文件的完整路径。这样可以确保在不同操作系统下(因为不同操作系统的路径分隔符不同,如Windows是'\',Linux是'/')路径的正确性。
-
- os.listdir()
-
功能:返回指定目录下的所有文件和目录的名称列表。
-
示例 :
pythonimport os dir_path = "." file_list = os.listdir(dir_path) print(file_list) -
用途:在网络爬虫中,可以用于检查存储爬取数据的文件夹中的内容,或者获取某个目录下的所有网页文件列表,以便后续进行处理。
-
- os.getcwd()
- 典型案例
-
创建数据存储目录并保存爬取数据
-
案例描述:假设你要编写一个简单的网络爬虫来爬取网页内容,并将内容保存到本地文件中。首先,你需要创建一个合适的目录来存储数据,然后将爬取到的数据保存到该目录下的文件中。
-
代码示例 :
pythonimport os import requests # 创建存储数据的目录 data_dir = "web_data" try: os.makedirs(data_dir) except FileExistsError: print("目录已存在") # 爬取网页内容并保存 url = "https://www.example.com" response = requests.get(url) file_path = os.path.join(data_dir, "example.html") with open(file_path, "w", encoding="utf - 8") as f: f.write(response.text) -
解释 :
- 首先使用os.makedirs()尝试创建一个名为"web_data"的目录来存储爬取的数据。如果目录已经存在,会捕获FileExistsError异常并打印提示信息。
- 然后使用requests库(这里假设已经安装)爬取指定网页(这里是"https://www.example.com")的内容。
- 通过os.path.join()构建保存文件的完整路径,将爬取的内容保存到"web_data"目录下的"example.html"文件中。
-
-
遍历目录下的所有网页文件进行处理
-
案例描述:假设你已经有一个存储了多个网页文件的目录,你想要遍历这个目录下的所有网页文件,读取文件内容并进行一些文本处理,比如提取其中的链接。
-
代码示例 :
pythonimport os dir_path = "web_pages" for file_name in os.listdir(dir_path): file_path = os.path.join(dir_path, file_name) if os.path.isfile(file_path): with open(file_path, "r", encoding="utf - 8") as f: content = f.read() # 在这里可以添加对内容提取链接等文本处理的代码 print("正在处理文件:", file_path) -
解释 :
- 首先指定要遍历的目录"web_pages"。
- 使用os.listdir()获取目录下所有文件和目录的名称列表,然后通过循环遍历这些名称。
- 对于每个名称,使用os.path.join()构建完整的文件路径,并通过os.path.isfile()判断是否为文件(而不是目录)。
- 如果是文件,就打开文件读取内容,在这里可以添加具体的文本处理代码,如使用正则表达式提取链接等,同时打印出正在处理的文件路径。
-
-
案例9:【Python网络爬虫笔记】9- 抓取优美图库2024年最新高清壁纸
-
链接:【Python网络爬虫笔记】9- 抓取优美图库2024年最新高清壁纸
- 案例描述:抓取优美图库2024年最新高清壁纸,并存储在本地文件夹。
- 代码示例 :
-新建文件夹

-存储图片

-
【Python网络爬虫笔记】10- os库存储爬取数据
zi__you2024-12-15 23:21
相关推荐
想会飞的蒲公英3 小时前
计算机怎样读取中文文本:编码、清洗与标准化SeaTunnel4 小时前
从 Python Script 地狱到标准化数据集成框架深度研习笔记4 小时前
OpenCV工业视觉实战09|项目EXE打包+工控机无环境部署+后台常驻运行,彻底脱离Python环境,完成项目最终交付Bright Data4 小时前
DuckDuckGo 搜索爬取器圣光SG4 小时前
Servlet学习笔记CCPC不拿奖不改名4 小时前
大模型推理架构与开源生态知识整理奋发向前wcx4 小时前
y1,y2总复习笔记5 2026.7.19Marst Code5 小时前
(python)2026Plotly 库评估:交互式可视化到底值不值得引入?databook5 小时前
当散点图不够用时:用 t-SNE 可视化多维数据@Mike@6 小时前
02-数据库学习笔记(SQL引擎)