做图像处理的朋友,都时常需要收集整理大量的图像数据集。做科研时有各种现有的标准数据集大家都直接拿来用,但是工程上却经常需要自己收集图片,从网上爬取图片便成了比较常见的任务。为了用python完成这个任务,需要解决如下两个问题:
1. 图片素材源自哪里呢?第一直觉就是搜索引擎里的图片,比如要收集手机的图片,则进入搜索引擎搜索关键字即可得到大量相关图片。
2. 动态网站的内容往往是通过ajax异步加载,直接用python中urllib库read到的内容不完整,且需要的内容基本都是异步加载进来的,直接获取不到。当然,有些任务可能只需处理些静态网页,但不幸的是,现在动态网页基本是主流,且我们爬图片的网站图片基本都是ajax加载的。所以如何解决爬取动态网站的问题呢?回答是采用selenium库模拟浏览器打开网页加载完全后再处理。这个解决方案可以参考