如何快速爬取大量软妹图

2016-03-04  本文已影响824人  麻瓜编程

在逛网站的时候,总有一些图片让我们感到心旷神怡。这时候一个个下载的话,右手容易酸,也比较费右键……

所以,在这里教你一个偷懒的方法,只需要十几行 Python 代码,就能快速爬取大量的妹子图啦~!

先来展示一下,这是最终成果,只需要几秒钟,妹纸图就都能下载到本地了😳

考虑到这可能是你写的第一个爬虫,我们来分解一下实现步骤:

Step 1:模拟浏览器请求

在你打开一个网页的时候,你的电脑就向服务器发起了一个 Request 请求,就像是寄了一封信,服务器为了回应你,给你返回一个 Response 请求,就像是回给你一封信。

那么,为了用程序模拟人类的浏览器向服务器发起请求,就要用程序发起 Request。这一步我们使用一个很好用的库,叫做 Requests,其中有一些具体的使用规则,我们只要在写代码的时候遵循这些规则就可以了。

Step 2:解析网页

BeautifulSoup 是一个用来解析网页的库,什么是解析网页呢,这个过程可以理解成是做汤。

我们要爬取的网页,就像是需要处理的汤料,也就是那根胡萝卜;

而 lxml 是一种解析网页的方法,相当于是一种食谱,还有其他4种不太常用的食谱,包括上面列举的 html.parser 等等;

Soup 是解析好的网页,相当于是用汤料和食谱做好的汤。

Step 3:获取想要的信息

解析后的网页会有一大堆内容,我们只需要妹纸图片,其他的都不要。所以需要从中筛选出来,并下载。

这部分涉及到一些 Python 基础知识,在这里简单讲解一下:

▋什么是 Print ?

▋什么是 for 循环 ?

▋什么是字符串切片 ?

name[-10:]就代表着从倒数第10个字符开始,一直数到最后。

在这里也就是对应着:me is Mike

代码及说明

学习了上面的基础知识之后,我们就能读懂这十几行代码代表着什么了。快来试试爬取妹子图吧😍

获取 User-Agent 的方法是:Chrome 浏览器中点击右键-检查-Network(再刷新一次网页)-在 Name 栏任选一个文件点进去-Requests Headers 里面就能看到你的 User-Agent了。

乔布斯曾经在《遗失的访谈》中说:

所有人都应该学习编程,学习编程教你如何思考,就像学习法律一样。学法律的人未必都成为律师,但法律教你一种思考方式。

有些人以为学编程是一件枯燥、漫长、无趣的事情,而我们希望用这个小项目告诉你,学习编程也可以是生动、有趣、容易上手的事情。


以上内容均节选/改编自网易云课堂的课程——Python实战:四周学会爬虫系统

加入课程后,可以看到完整四周课程,获赠零基础预习教程魔力手册,并得到班级老师的辅导与答疑。

欢迎加入预备班 QQ 群和大家讨论 Python 课程问题,参加每周的老学员分享,QQ 群号是:454652648,加群回复:实战计划

上一篇 下一篇

猜你喜欢

热点阅读