问题描述
在爬取视频数据并保存到本地时报错:OSError: [Errno 22] Invalid argument
OSError: [Errno 22] Invalid argument: '练习/汪涵与那些了不起的敦煌人|辗转千年,终其一生.mp4'
解决思路
在爬取其他视频时并没有报此错误,对比后发现是视频名称的问题:在调用open
函数时,文件路径中含有字符|
,导致报错。
with open(video_path '.mp4', 'wb') as fp: fp.write(video_data)
问题解决
在爬取文件名时,将符号|
替换掉。这里直接将其删去。
name = new_tree.xpath('//*[@id="detailsbd"]/div[1]/div[2]/div/div[1]/h1/text()')[0]
name = name.replace("|","") # 将文件名中的“|”删去
至此问题得以解决。