在保存爬虫获取的文件中,如果文件不是利用代码进行递增或其他遍历命名时,需要考虑分配的文件名是否符合系统的文件命名规范:
例如:
执行如上保存命令时,str_title是某个网页中的<title>标签中的文本,此时str_title中可能包含windows命名规范中禁止的符号,因此可能导致文件保存失败。
而如果该段保存文件的代码在try;except;下但并未捕获错误时,可能会得到如下的结果:
这些文件是在爬取网易新闻时获取的,可以发现这些文件的命名都不完整。
检索原始网页:
可以发现都是在英文冒号“:”中断开,而在用包含英文冒号的字符命名windows文件时:
所以出现0kb的空文件的原因就水落石出了。
解决方法:
在代码中添加过滤机制,防止有违反命名规范的命名出现。