【Python爬虫程序】抓取MM131美女图片,并将这些图片下载到本地指定文件夹。
一、项目名称
抓取MM131美女写真图片,并将这些图片下载到本地指定文件夹。
共有6种类型的美女图片:
性感美女
清纯美眉
美女校花
性感车模
旗袍美女
明星写真
抓取后的效果图如下,每个图集是一个独立的文件夹:

二、项目目的
抓取美女写真图片,能有啥目的,纯粹是为了技术,顺便养养眼,不行吗?
另外,可以分析不同图片类型的图集数量、图片数量,以此来判断什么类型的图片最受欢迎。
三、项目要求
成功抓取到图片,并将图片进行重命名后保存到指定的文件夹,文件夹使用图集的名称
开始下载后,要有下载进度的提示,当前已下载图集数、剩余图集数、正在下载第几张图片,类似这样:

也可以增加一些其他功能,例如,请求多长时间获取不到结果时,该怎么办,这个我没写,留给大家自由发挥了
分析不同图片类型的图集数量、图片数量,以此来判断什么类型的图片最受欢迎,这个我没做,留给大家,前面会做了,这个就很简单了
四、步骤
声明一下,这个是我自己的思路,一定不是最好的,大家可以有更好的思路,欢迎交流。
步骤1:写一个函数,用于获取某一个图片类型每一页的页面链接,如 清纯美眉,共31页,需要将每一页的页面链接拿到,
要拿到每一页的链接,需要知道链接的规则,以及一共有多少页,如下图标红处,如何知道某个图片类型共有多少页呢?
也就是怎么把 list_1_31.html 中的 31 拿到呢?

步骤2:写一个函数,用于获取某一个页面的全部图集链接,如 清纯美眉第一页,拿到这个页面的所有的图集链接,
注意看每一个图集的链接,有什么统一的规则

步骤3:写一个函数,用于将某一图集的所有图片保存下来,如 清纯美眉第一个第一个图集,把这个图集的所有图片都保存下来,
注意看每一个图集的图片链接,有什么规则

步骤4:开始执行以上的函数,验证是否得到想要的结果。
建议,仔细研究一下不同图片类型的页面链接、图集链接之间的相同点和不同点,然后构思写代码。不要一次性全部下载,在写每一个函数时,传入一个具体的链接进行测试,保证每个函数都满足要求后,再批量下载。
五、如何使用
Python3 版本
已安装程序需要的库,如 requests、BeautifulSoup、os、time
六、版权声明
图片版本由其官方网址持有,抓取图片仅供技术交流使用,切勿商用。
本项目来自GitHub,由于MM131换了域名,so我更新了一下
原文章:https://www.jianshu.com/p/e4a3bf1f95ab
项目地址:https://github.com/HuanGeNet/grab_beautiful_girls_pictures
【Python爬虫程序】抓取MM131美女图片,并将这些图片下载到本地指定文件夹。的更多相关文章
- Python爬虫实战---抓取图书馆借阅信息
Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...
- Python爬虫实现抓取腾讯视频所有电影【实战必学】
2019-06-27 23:51:51 阅读数 407 收藏 更多 分类专栏: python爬虫 前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问 ...
- 【转】Python爬虫:抓取新浪新闻数据
案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSou ...
- Python爬虫:抓取新浪新闻数据
案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSou ...
- Python爬虫,抓取淘宝商品评论内容!
作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿"德州扒鸡&qu ...
- summernote图片上传功能保存到服务器指定文件夹+php代码+java方法
1.summernote富文本编辑器 summernote是一款基于bootstrap的富文本编辑器,是一款十分好用的文本编辑器,还附带有图片和文件上传功能. 那么在我们网站中想吧这个图片上传到服务器 ...
- python爬虫数据抓取方法汇总
概要:利用python进行web数据抓取方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返 ...
- python爬虫批量抓取ip代理
使用爬虫抓取数据时,经常要用到多个ip代理,防止单个ip访问太过频繁被封禁.ip代理可以从这个网站获取:http://www.xicidaili.com/nn/.因此写一个python程序来获取ip代 ...
- 利用Nodejs & Cheerio & Request抓取Lofter美女图片
还是参考了这篇文章: http://cnodejs.org/topic/54bdaac4514ea9146862abee 另外有上面文章 nodejs抓取网易公开课的一些经验. 代码如下,注意其中用到 ...
随机推荐
- [CF1304E] 1-Trees and Queries - LCA
由于可以走重边,所以任意一条路径长 + 2 仍然对应至少一条合法路径 很显然我们有 \(3\) 种基本路径 不经过 \((x,y)\) 经过 \(x \to y\) 经过 \(y \to x\) 假设 ...
- springboot整合websocket实现客户端与服务端通信
定义 WebSocket是通过单个TCP连接提供全双工(双向通信)通信信道的计算机通信协议.此WebSocket API可在用户的浏览器和服务器之间进行双向通信.用户可以向服务器发送消息并接收事件驱 ...
- webpack 之搭建本地服务器
搭建本地服务器 webpack提供了一个可选的本地开发服务器,这个本地服务器基于node.js搭建,内部使用express框架,可以实现 我们想要的让浏览器自动刷新显示我们修改后的结果 不过它是一个单 ...
- Vue组件中的Data为什么是函数。
简单点说,组件是要复用的,在很多地方都会调用. 如果data不是函数,而是属性,就又可能会发生多个地方的相同组件操作同一个Data属性,导致数据混乱. 而如果是函数,因为组件data函数的返回值是 ...
- shell编程基础知识
什么是shell shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出屏幕返回给用户 shell对话方式 交互的方 ...
- JS定义类的六种方式详解
转载自: http://www.jb51.net/article/84089.htm 在前端开发中,经常需要定义JS类.那么在JavaScript中,定义类的方式有几种,分别是什么呢?本文就JS定义类 ...
- QT离线安装包
各个版本下载链接http://mirrors.ustc.edu.cn/qtproject/archive/qt http://www.qtcn.org/bbs/i.php
- 路飞-Redis
redis数据库 # 1.安装redis与可视化操作工具 # 2.在服务中管理redis服务器的开启关闭 # 3.命令行简单使用redis: -- redis-cli # 启动客户端 -- set k ...
- js/jquery加入的select value显示不正确问题
最近有需求,通过js添加select到表格中,虽然通过append加入的代码中select的value为2 但是实际显示出来的结果不对,百度之后没有找到答案,自己想了个办法 var selects = ...
- php中文乱码问题的终极解决方案汇总
乱码是我们在开发可能经常遇见,也是最让人头疼的一个问题了,下面这篇文章主要介绍了在php开发中,可能遇见中文乱码问题的终极解决方案,文中介绍好几个情况下的解决方法,需要的朋友可以参考借鉴,下面来一起看 ...