ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python编程快速上手(七)Unsplash批量下载器

2019-02-03 19:41:04  阅读:337  来源: 互联网

标签:Unsplash Python 编程 driver picLk str print os options


首发于个人博客:http://rhinoc.top/post/python_7.html

程序描述

V1.0
输入关键字搜索图片,模拟页面下拉获取更多图片,页面加载完成后获取图片链接并下载至指定文件夹。

V2.0
解决了V1.0版本存在的两个严重问题。更改为深入二级链接获取图片,从而不再需要等待一级页面加载完毕。

 

 

涉及知识点

  • selenium
  • bs4
  • iter_content()
  • javascript

V1.0存在的问题 & V2.0的解决方法

  • 获取图片链接需要预先对页面进行加载,下载图片时相当于进行了二次加载,造成了不必要的网络和时间占用。
  • 即便给予充足的加载时间,页面也不能完全加载,导致捕获到的图片有一千余张而实际有效的图片不足十张。

对于一个图片爬虫来说,连图片都爬不下来得是件多羞耻的事情。所以在面对V1.0版本的诸多不足时,我的当务之急是解决第二个问题,其次再是对程序进行优化。幸运的是,就像问题总是相伴而生一样,解决了第二个问题时,我恰巧也把第一个问题解决了。

首先,疑惑于明明加载了那么久页面却会「获取不到图片链接」,我将加载出来的页面保存下来查看。

page = open(os.path.join('pics', 'saved.html'),'wb')
page.write(soup.encode('utf-8'))


打开saved.html后,我发现虽然图片链接未能加载出来,但是图片所指向的二级链接却赫然在目。

 

打开二级链接,不出意外,就是我求之而不得的图片。
自然,我就想到,如果在当前这个一级页面不能得到图片链接,是不是可以通过进入二级链接获取图片,而且由于二级链接所指向的页面只有一张图片,图片加载的成功率必然也很高。

如此这般,problems solved

标签:Unsplash,Python,编程,driver,picLk,str,print,os,options
来源: https://www.cnblogs.com/RhinoC/p/10350862.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有