日期
2018-6-22
问题
之前基于python写了一个多线程爬取图片的爬虫代码,爬取图片都保存在output文件夹里,输出目录不存在时会创建目录。代码在win10系统下执行正常,但在linux系统下,文件直接保存在了代码根目录,output为空
原因
代码拼接根目录和数据目录时采用+"//"+
,,liunx目录不支持双斜杠
修复
linux目录为单斜杠+"\"+
,并且这种方式windows兼容
解决时间
安装linux双系统(2h),解决问题(5min)
教训
虽然用windows写的,应该考虑到linux的开发环境,使得自己的代码支持跨平台
以后目录拼接均用单斜杠
其他
1 爬取内容的保存
基于requests库发起请求并保存响应内容;或者直接用urllib.request.urlretrieve()
将远程内容保存到本地
我采用了方法一,代码如下:(下图的content即是上图的html)
2 爬虫保存图片形式
- windows平台下必须以二进制形式保存,即open函数参数为’wb’,如果只是’w’参数,图片如下
- linux中,忽略b参数,图片形式正常
3 linux文件的颜色与类型
绿色:可执行文件
蓝色:目录
红色:压缩包
白色:一般性文件,例文本文件,配置文件,源码文件
黄色:设备
浅蓝色:链接文件
灰色:其他