这里的Lofter的工作是公司要的。主要目的是爬取大量用户的相册,之后做计算机视觉的训练集来用的。个人感觉这个是爬虫很常见的一个作用领域。(不过说实话,还是感觉有点low,觉得爬虫还是比较底层的工作。)
说回lofter。像这种爬取图片的一般都不难。但是Lofter这个网站,难就难在了其网页中用时间戳来做一系列的包参数,如果没有仔细研究的话,还是不好请求到包的。
下面看一下我是怎么完成整个工作的。
1. 爬取个人主页所有博客里面的照片
这里我借鉴了别人的工作基础。原帖见https://www.imooc.com/article/36533。
如果你认真研究完这个帖子,并且写一点代码来试一下里面关键的几步。就会明白里面包请求的规律。具体规律不赘述。
这里再根据我自己需求对代码做一些改变。并且加入协程来加快图片的下载速度。
这个部分对应的脚本是 lofter_spider_NameList_Concurrency.py
2. 从首页获取用户ID.
在上一步工作的基础之上,我们已经可以爬取某个用户主页里面的照片。要想获取大量的数据,只需要获取大量的用户ID即可。
这里我们从lofter的精选页http://loftermrjx.lofter.com/出发。可以看到这里面有推荐的照片。