Python使用爬虫抓取网站上的美女图片

原谅我抱着不单纯的目的学习Python。最近几年爬虫的概念一直很火。于是我也来研究了一下。

爬虫的大致思路很简单,就是通过一个网站的网址,通过正则表达式或者其他方式获取到网站图片的地址,然后再将图片下载下来。

虽然思路说起来简单,但是在实践过程中你会发现很多很多的问题。最常见的是timeout超时。于是你就要花时间不断的去优化细节代码。

通过本次实践(你没看错,我用的是Python自带的IDLE写的),我算是基本上掌握了Python的大部分基础知识,还有一些编程的思想,比如面向过程和面向对象。还有函数和类。当然离大神还有很远的距离。

我发现在简单的代码下,面向过程是最简单的,也是最好理解,最容易看懂的。甚至连自定义函数都可以不用,100行以内直接就能写出来一个爬虫代码,简单直接,执行速度也最快。

其次是自定义函数,将一些功能封装起来,方便重复调用,不过简单的爬虫也没有多少重复利用的函数吧,执行速度还算比较快。

最后是大神比较推荐的,这种方式好处就是方便维护。每一个对象一个类,方便代码扩充。可是缺点也很明显,就是执行速度很慢

所以,还是那句话。写代码不能光追求牛逼,更重要的是要看执行效率。

我看到网上有人学习Python一年了居然都没有用过类,都不懂什么是面向对象。一方面我暗自嘲笑这人学的是个什么玩意儿,另一方面我也认为学习不能光盲从。不能别人说用什么牛逼你就去学,我就坚持不写自定义函数,不用对象怎么了?我就是要这么有个性。

在这方面,我觉得编程的哲学思想是很宽容的,起码比现实社会要宽容。

上面是我编写的人生中第一个爬虫。功能就是抓取指定指定目录下的文章中的图片。为此我还画了一张流程图。

其实只要你把每一步思路全部想清楚之后,再去写代码实现就很简单了。

上面是我写的另外一个爬虫,封装了很多自定义函数。同样是面向过程编写的。我总共写了三个爬虫,还有一个是用类写的,代码执行效率太慢,就不贴了。

一开始觉得写爬虫很简单,写着写着问题就都来了。你比如爬虫经常被屏蔽。这个时候就要给爬虫添加代理,添加header。然后你会发现每次抓到一半超时了,你重新运行爬虫发现又是从头抓取的,这个时候又要想到断点续传的问题。还有就是正则表达式,你应该怎么写,这些对于我一个新手来说都是问题。

通过这次实践,我感觉收获还是很大的。毕竟实践才是检验学习能力的唯一标准,能够学以致用,看来我没有白学。

以上因为代码太长,所以没有粘贴到文章中,如果需要代码,公众号7TEC回复:抓图,将会把下载地址推送给你,可以保存下来自己研究一下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 8,206评论 0 15
  • 本文为《爬着学Python》系列第十四篇文章。 中间因为工作原因隔了好久没有更新,现在稳定很多,会陆续开始更新。不...
    SyPy阅读 14,170评论 1 10
  • 爬虫文章 in 简书程序员专题: like:128-Python 爬取落网音乐 like:127-【图文详解】py...
    喜欢吃栗子阅读 22,292评论 4 411
  • 时光一去,往事回味 逝者如斯,始有三百六十日 于今日,掐指算,百十分钟 天南地北双飞客,是故事的开始 老翅几回寒暑...
    诗酒尚趁年华阅读 1,833评论 0 0
  • 好久没跟外婆一起睡觉了,还是感觉很好。外婆来家里差不多一个星期了,前天晚上给家里打电话得知她打算回家了,就留了留“...
    Candy段阅读 1,683评论 3 4