写在前面

前几天玩游戏时,lol盒子右下角有条广告,

广告大概这个样子

咦,小姐姐,还有cosplay,点进去看看。

哇,发现一个好玩的网站,好多漂亮的妹子,页面打开很流畅,点开后有的浏览页面还有好听的音乐,产品体验极佳。

不过每组图片只能看前几张图,后面的图只能看到缩略图,如果想继续看或者打包下载得花银子,通常要1-5rmb。

ctrlC+ctrlV几张后不乐意了,这么保存一来看不到全部图片,二来,麻烦,太麻烦了。

俗话说,妹子是第一生产力,鲁迅有云,懒人创造美好世界。

项目编写

试试吧,看能不能发现点有趣的东东。首先习惯性的看看html源码,blabla一堆,头大,pass。

从页面源码来看,页面应该是前端渲染出来的,直接解析爬虫爬的话会比较麻烦。既然是前端渲染,那再看看请求吧,首页肯定是加载相册列表,没啥大用处,直接看加载具体某一相册的请求结果,点开某一相册,跳过图片,看看有没有什么可用的接口,果然有。

复制出来,浏览器走起,请求后返回如下信息

很明显是该相册的详细信息获取接口,可是怎么有些像是被编码过的东西。既然被编码了,解码出来瞧瞧,postman走起。postman顺利解析出结果

上下翻翻看,发现了一个神奇的链接,是个zip压缩包,嗯,有点意思。

下载回来解压,哈哈,居然是该相册的所有照片。

看返回的结果,很明显使用了jsonp,于是接着试着减少参数,去除了返回结果中恼人的无用回掉前缀,最后简化到仅剩一个参数,id,这接口太呆萌了。

此外还发现了网页上音乐的地址。

至此该网站的“核心资产”已经被扒的底裤都没了,下面开始批量爬吧。

爬虫思路

有两种思路,一种是利用主页调用的获取相册列表参数接口来获得相册列表再通过列表爬压缩包地址,另外一种是直接从1开始依次尝试到首页最新的一个相册对应的id。最终决定采用第二种思路,因为这样即使首页隐藏的相册通过这种方式也能被发现。

开搞,建数据库,数据表,为方便后续追加执行,以及放在服务器上爬,所以采用springboot配合异步调用来实现。一开始使用post方式进行调用,结果尝试抓取了一两百条后到数据库一看,怎么这么多重复的啊,而且怎么同一个id和我用postman直接调得到的结果不一致?很可能开反爬了。

转变思路,postman采用的是get方式,所以程序试试也使用get方式进行调用,同时加入线程随机睡眠时间和User-Agent请求头,以此模拟普通用户的浏览器访问行为。bingo,顺利的抓取到了正确的图包名称、下载地址地址、音乐名称、音乐下载地址等信息。

扔服务器上爬吧。等了大概十几分钟,爬完后总共获取到892条有效的图包记录,202条有效的音乐记录。

爬到地址后可不能算结束,还得把真正的压缩包都下载回来,写个批量下载的方法,服务器走起,然后便开始吭哧吭哧的下载,速度还行,能接近7MB/S。

从上午11点开始到晚上9点下载完成,总共耗时10个小时,从服务器上全部下载回来吧。

经过漫长的等待后,终于下载完,写了个脚本统计结果,最终:总共获取到了46187张图片,大小36.5GB。

项目效果图:

python画美图_Python爬虫下手,就得从高清美图开始!相关推荐

  1. Python 网络爬虫:爬取4K高清美图

    爬取4K高清美图 这篇爬虫主要是用来爬取网站高清4K图片,这也是笔者学初学爬虫的时候最先写一个的爬虫脚本,现在回过头来重新梳理一下,也算是对从前知识的一个总结,希望对大家有所帮助! 文章目录 爬取4K ...

  2. python爬虫抓取百度图片_Python爬虫抓取百度的高清摄影图片

    成果预览: 源代码: import requests import re url = 'https://image.baidu.com/search/index' headers = { 'User- ...

  3. python监视电脑桌面_Python爬虫练习:爬取高清壁纸,让你电脑桌面一天一换

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 基本环境配置 python 3.6 pycharm requests 在这里插入图片描述 在 ...

  4. python批量读取图片并批量保存_Python爬虫:批量抓取花瓣网高清美图并保存

    原标题:Python爬虫:批量抓取花瓣网高清美图并保存 昨天看到了不错的图片分享网--花瓣,里面的图片质量还不错,所以利用selenium+xpath我把它的妹子的栏目下爬取了下来,以图片栏目名称给文 ...

  5. 爬虫百度百万高清美图源代码

    @T爬虫百度百万高清美图源代码OC #! -- coding: utf-8 -- Date:2020-09-20 16:52 USER:gordon_lu 使用正则表达式 删选指定的 URL 链接. ...

  6. python爬虫爬取必应每日高清壁纸

    python爬虫爬取必应每日高清壁纸 一.简介 二.使用的环境 三.网页分析 1.分析网页每一页url形式以及总页数 2.网页重要信息收集 3.在源码中寻找所需信息的位置 四.代码实现 五.运行爬虫 ...

  7. python桌面爬虫_Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】...

    本文实例讲述了Python3爬虫爬取英雄联盟高清桌面壁纸功能.分享给大家供大家参考,具体如下: 使用Scrapy爬虫抓取英雄联盟高清桌面壁纸 源码地址:https://github.com/snowy ...

  8. 去掉圆角_小米11高清渲染图曝光:蓝色机身 圆角矩形摄像模组

    12月25日消息,下周一,全新小米11就将正式亮相,临近发布,关于这款新机的消息也是越来越多,日前,国外社交媒体放出了小米11的高清渲染图. 从图片可以看到,新机提供了蓝色的配色,整个配色清新.淡雅, ...

  9. 华为P50 Pro+高清渲染图曝光:居中单挖孔屏+后置徕卡五摄

    虽然过去的一年华为的手机业务遇到了前所未有的困难,但华为仍在不懈创新,竭尽全力为新机持续努力.按照往年华为代表性旗舰系列的发布节奏,华为新一代P系列旗舰新机--华为P50有望在今年3月与大家见面,而因 ...

最新文章

  1. 人和计算机在时间管理方面的相似性
  2. 如何在游戏中举办国际大会?拆解网易云信的技术力量
  3. RabbitMQ预取值
  4. Spring Security(18)——Jsp标签
  5. python集合和字典的区别_Python中的字典和集合
  6. jquery 判断checkbox是否为空的三种方法
  7. (转)比特币有了定价模型?过去四年94%的价格波动可由此解释
  8. MVPArms实现本现数据缓存
  9. html项目组成员分工情况,课题研究小组成员分工怎么写
  10. 如何使用腾讯云服务器搭建个人网站?
  11. LaTeX 格式、字母、符号、公式 (总结)
  12. Codeforces - Bombs
  13. WebGIS开发绘制地图标注
  14. 企业信息化投入中咨询服务_企业信息化咨询问题研究
  15. Python之代码规范管理工具(pylint、black)
  16. 计算机英语while still,计算机英语刘艺王春生第4版.ppt
  17. 基于Android的日程管理工具
  18. opensuse的快捷键
  19. 树莓派 Raspberry Pi VNC屏幕无法显示、软键盘、摄像头实时图传、固定IP等环境配置
  20. pug模板引擎基本用法

热门文章

  1. 我经历的日本东京交通
  2. Kotlin入门-数据类与密封类 的解脱,由繁至简
  3. JS实现获取汉字首字母拼音、全拼音及混拼音的方法
  4. 概率论知识回顾(二):古典概型,几何概型
  5. 【蓝桥杯省赛JavaB组真题详解】立方变自身(2015)
  6. kirin710f是什么处理器_我告诉你kirin710f是什么处理器
  7. Vue学习笔记02——Vue路由
  8. hdwiki下model目录功能
  9. HTML网页设计期末课程大作业 ~中国茶文化5页面带轮播(HTML+CSS+JS)~ 学生网页设计作业源码
  10. mysql错误1273_mysql8 参考手册--错误代码1273-1294