教你爬取妹子图(一)分析妹子

473 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

教你爬取妹子图(一)分析妹子

声明

本人所有逆向、破解及爬虫相关教程均是以纯技术的角度来探讨研究和学习,严禁使用教程中提到的技术去破解、滥用、伤害其他公司及个人的利益,以及将以下内容用于商业或者非法用途。

前言

今天我们来爬取一个全是妹子图网站,来让我们大饱眼福。这个网站是随便找的,叫做:唯美女生。让我们来一步一步的拿下这个唯美女生。

分析

要爬取一个网站之前,肯定要先明确自己的要求的啥,也就是说我要爬啥东西。

内容信息

通过浏览网页可以发现,这个网站上面主要内容信息包含了:

  • 专辑:其中分为专辑推荐和专辑汇总,专辑汇总是包含了专辑推荐的
  • 分类:其中顶部出现的清纯少女清新少女,以及内容里面发现的摄影写真
  • 标签:每篇套图里面都包含了各种各样的标签,如: 小姐姐 小清新 摄影 日系 纯欲 轻私
  • 套图名字:每个套图都有一个自己的名字
  • 套图的封面:套图的封面照片
  • 套图的具体内容:就是一堆图片
  • 套图作者及头像:不一定是真实的作者,此信息不一定要保留

爬取点

也就是要爬取的URL入口点:

  • 通过首页的文章分页:/page/n/,此入口通过分页的形式展现所有的套图
  • 通过文章归档的入口:/archives/,此入口通过年月日的形式把所有套图的标题连接展现出来
  • 通过专辑汇总入口:/special/xxx/ 此入口可以进入各个专辑下面的所有图片

通过上述的对比之后,可以看出来通过文章归档入口是最方便的,可以直接爬取到所有的套图文章信息,但是却会确实专辑信息,这个就可以根据实际情况是斟酌考虑,入口不是很看重这一数据项,则可以不去爬取

各个信息的入口

我们通过浏览网站可以发现上面提到的元数据中可以发现除了专辑信息之外都是可以直接在文章中提取到的,我们就是看看各个信息怎么进行提取,先按照惯例打开F12看看情况,会发现打开不了,然后可以试试把鼠标放在地址栏里面然后再点击F12就会发现打开了,接下来就可以看看情况了:

我们先看看Network界面,跳到Network界面之后,再次点击刷新,结果发现网页关闭了,很明显这个网站使用了禁止使用开发者工具的反爬虫方案,我们先使用最简单的禁用js方法看看情况,使用插件: Toggle JavaScript,即可快捷禁用当前网站的js功能,很幸运的是,这个网站虽然禁用了js,但是却不影响显示,由此可看出来,此网站内容是由服务端完成渲染的,所有我们直接提取元素即可:

  • 标题:直接h1就可以获取到内容

  • 分类:span[class="d-none d-md-inline-block"] a

  • 套图具体内容:div[class="nc-light-gallery"] img

  • 标签:.post-tags a

  • 封面:可以看出来,这里把一张正常的图片处理成封面的尺寸的 .post-poster .media-content

暂时结束

这节先到这里,主要是分析了爬取一个网站的一点前置工作,都弄明白的才能胸有成竹,下节我们继续