Python OSError: [Errno 22] Invalid argument 错误解决

2022-02-16 15:23:31 浏览数 (1)

问题描述

在爬取视频数据并保存到本地时报错:OSError: [Errno 22] Invalid argument

代码语言:javascript复制
OSError: [Errno 22] Invalid argument: '练习/汪涵与那些了不起的敦煌人|辗转千年,终其一生.mp4'

解决思路

在爬取其他视频时并没有报此错误,对比后发现是视频名称的问题:在调用open函数时,文件路径中含有字符|,导致报错。

代码语言:javascript复制
with open(video_path '.mp4', 'wb') as fp: 	fp.write(video_data)

问题解决

在爬取文件名时,将符号|替换掉。这里直接将其删去。

代码语言:javascript复制
name = new_tree.xpath('//*[@id="detailsbd"]/div[1]/div[2]/div/div[1]/h1/text()')[0]
	name = name.replace("|","")  # 将文件名中的“|”删去

至此问题得以解决。

0 人点赞