Selenium 爬取模拟文件下载时文件名不一致问题解决方案
问题的原因是文件名中含有特殊字符,而文件系统对于文件名中的特殊字符有一些限制。在 Windows 系统中,文件名中不能包含以下字符:\ / : * ? ' < > |。当文件下载完成后,你可以通过重命名文件来解决这个问题。可以使用 Python 的 os 模块中的 rename 方法来完成重命名操作。具体步骤如下:
- 在文件下载完成后,获取到下载的文件路径 file_path。
- 使用 os 模块的 rename 方法将文件重命名为正确的文件名,例如将 'TRSHEDRAINSR20221118-2JINJIANG TOP' 替换为 'TR_SHEDRAINSR20221118-2JINJIANG TOP'。你可以使用 re 模块的 sub 方法来完成替换操作。
- 判断文件是否存在,并进行相应的操作。
以下是示例代码:
import os
import re
# 原始文件名
original_file_name = 'Fwd PI#NS22115338 -¥126.82 用旧款抵扣Fwd Re Target 2022_Packaging_TRSHEDRAINSR20221118-2JINJIANG TOP.eml'
# 替换特殊字符
new_file_name = re.sub(r'[^a-zA-Z0-9]+', '_', original_file_name)
# 重命名文件
os.rename(file_path, new_file_name)
# 判断文件是否存在
if os.path.exists(new_file_name):
# 文件存在,进行相应操作
else:
# 文件不存在,进行相应操作
请注意,这只是一个示例代码,你可能需要根据实际情况进行适当的修改。
原文地址: https://www.cveoy.top/t/topic/qwv4 著作权归作者所有。请勿转载和采集!