Python OSError: [Errno 22] Invalid argument 错误解决
问题描述
在爬取视频数据并保存到本地时报错:OSError: [Errno 22] Invalid argument
1
OSError: [Errno 22] Invalid argument: '练习/汪涵与那些了不起的敦煌人|辗转千年,终其一生.mp4'
1 | OSError: [Errno 22] Invalid argument: '练习/汪涵与那些了不起的敦煌人|辗转千年,终其一生.mp4' |
解决思路
在爬取其他视频时并没有报此错误,对比后发现是视频名称的问题:在调用open
函数时,文件路径中含有字符|
,导致报错。
1
2
with open(video_path+'.mp4', 'wb') as fp:
fp.write(video_data)
1 | with open(video_path+'.mp4', 'wb') as fp: |
问题解决
在爬取文件名时,将符号|
替换掉。这里直接将其删去。
1 | name = new_tree.xpath('//*[@id="detailsbd"]/div[1]/div[2]/div/div[1]/h1/text()')[0] |
至此问题得以解决。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 花猪のBlog!
评论
TwikooWaline