我们的目标是用爬虫来干一件略污事情

最近听说煎蛋上有好多可爱的妹子,而且爬虫从妹子图抓起练手最好,毕竟动力大嘛。而且现在网络上的妹子很黄很暴力,一下接受太多容易营养不量,但是本着有人身体就比较好的套路,特意分享下用点简单的技术去获取资源。

以后如果有机会,再给大家说说日本爱情动(大)作(雾)片的种子搜索爬取,多多关注。

请先准备

作案工具

我们只准备最简单的

python 2.7.11

Google Chrome

安装的时候记得把pip带上,这样可以方便我们安装一些好用的包,来方便我们干坏事(学习)的过程。

需要用到的包

包括更佳符合人类的HTTP库–requests

用来解析html文件,快速提取我们需要的内容–beautifulsoup4

也可以用下面的命令快速安装

pip install requests

pip install beautifulsoup4

干正事

从一次正常需求说起

每天在互联网上冲来冲去,浏览着大量的信息,观看这各种鼻血喷发的图片,于是作为新时代青年的我们,怎么能忍受被这些大量的垃圾信息充斥的互联网,我们要反抗,我们要下载!

请,看,下,图

当你在网上冲浪的时候遇到这样的图片,我就问你:

虐不虐?虐死了!

下不下?下!

开始吧

获取图片的CSS选择器的规则

首先,我们需要定位我们需要的图片

根据我们之前的准备的作案工具,使用chrome来访问网页http://jandan.net/ooxx

然后打开开发者工具菜单 -> 更多工具 -> 开发者工具

看下图右边的神器

点击这个图标会出现块选择器,

鼠标移动我们感兴趣的部分

按照图片指示点击区域

右边神器中就会出现我们所需要的img标签

查看之前最后一个以#comments开头的标签,

它包含了所有img的子标签。

下面让我们来一些

神秘的事

打开cmd或者终端

输入python

输入以下神秘代码

import requests
from bs4 import BeautifulSoup res = requests.get('http://jandan.net/ooxx')
html = BeautifulSoup(res.text)
for index, each in enumerate(html.select('#comments img')):
with open('{}.jpg'.format(index), 'wb') as jpg:
jpg.write(requests.get(each.attrs['src'], stream=True).content)

现在偷偷看一下你的当前目录

是不是有很多(污)的图片

咳咳是这样的

名词解释

网络爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

爬虫的使用对很多工作都是很有用的,但是对一般的社区,也需要付出代价。使用爬虫的代价包括:

网络资源:在很长一段时间,爬虫使用相当的带宽高度并行地工作。

服务器超载:尤其是对给定服务器的访问过高时。

质量糟糕的爬虫,可能导致服务器或者路由器瘫痪,或者会尝试下载自己无法处理的页面。

个人爬虫,如果过多的人使用,可能导致网络或者服务器阻塞。

适用场景

1 为您的应用系统等检测“机器人”数据流量
2 为您的业务系统提供恶意IP、手机号码数据,为恶意注册、登录、交易、刷单、黄牛等场景提供数据支持
3 为企业内部风控部门提供多纬度、分场景、更及时、全局联防的底层数据支撑
4 对恶意爬虫(爬取企业核心数据等)多纬度数据支撑
5 其他……

是不是还不够

行踪不定的下期预告

看着上面规整的排版——前后有序、图文并茂,不就是练手爬虫技术最好的机会吗?今天就到这里了,读取下一页什么的就靠你自己探索,我将会在下个系列给你一个参考方法,希望你持续关注。

手把手教你用Python爬虫煎蛋妹纸海量图片的更多相关文章

  1. [Python爬虫]煎蛋网OOXX妹子图爬虫(1)——解密图片地址

    之前在鱼C论坛的时候,看到很多人都在用Python写爬虫爬煎蛋网的妹子图,当时我也写过,爬了很多的妹子图片.后来煎蛋网把妹子图的网页改进了,对图片的地址进行了加密,所以论坛里面的人经常有人问怎么请求的 ...

  2. python 爬虫煎蛋网

    import urllib.request import os from urllib import error import re import base64 def url_open(url): ...

  3. python爬煎蛋妹子图

    # python3 # jiandan meizi tu import urllib import urllib.request as req import os import time import ...

  4. [原创]手把手教你写网络爬虫(4):Scrapy入门

    手把手教你写网络爬虫(4) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 上期我们理性的分析了为什么要学习Scrapy,理由只有一个,那就是免费,一分钱都不用花! 咦?怎么有人扔西红柿 ...

  5. [原创]手把手教你写网络爬虫(5):PhantomJS实战

    手把手教你写网络爬虫(5) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 大家好!从今天开始,我要与大家一起打造一个属于我们自己的分布式爬虫平台,同时也会对涉及到的技术进行详细介绍.大 ...

  6. [原创]手把手教你写网络爬虫(7):URL去重

    手把手教你写网络爬虫(7) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 本期我们来聊聊URL去重那些事儿.以前我们曾使用Python的字典来保存抓取过的URL,目的是将重复抓取的UR ...

  7. 手把手教你使用Python爬取西刺代理数据(下篇)

    /1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...

  8. [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

    第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果 ...

  9. 手把手教你吧Python应用到实际开发 不再空谈悟法☝☝☝

    手把手教你吧Python应用到实际开发 不再空谈悟法☝☝☝ 想用python做机器学习吗,是不是在为从哪开始挠头?这里我假定你是新手,这篇文章里咱们一起用Python完成第一个机器学习项目.我会手把手 ...

随机推荐

  1. setTimeout 0秒

    我们通常知道常用setTimeout 0秒来解决动画或者一些效果的延迟问题:众所周知js是单线程,用0秒能把要执行的任务从队列中提出来.其实我也不太懂 有这个问题alert(1);setTimeout ...

  2. sql server 数据库备份,完整备份,差异备份,自动备份说明

    Sql server 设置完整备份,差异备份说明 在数据库管理器中,选择要备份的数据库,右键找到“备份” 然后可以按照备份的方式进行备份. 关于文件的还原,作以下补充说明: 步骤为: 1.在需要还原的 ...

  3. 年前辞职-WCF入门学习(3)

    前言 [2了,刚写好的,手贱,点了删除,还真TMD的删除了,只好重写] 今天周六,去同事家聚了一个餐,感觉各种豪华. 废话不多说,前两集大致介绍了一下什么是WCF以及和WCF相关的WebService ...

  4. AngularJS开发指南12:AngularJS的模板,CSS,数据绑定详解

    模板 AngularJS模板是一种声明式的规则.它包含了模型和控制器的信息,最后会被渲染成用户在浏览器中看到的视图.它是静态的DOM,包含HTML,CSS和AngularJS指定的元素和属性.Angu ...

  5. PHP时间日期比较

    若要使用PHP来比较日期,最好用DateTime::diff 但是这个是5.3才支持的,如果没有这样的环境,可以使用<.>来比较 如下例子,会输出right $date1=strtotim ...

  6. 使用GIT来管理代码的心得

    使用GIT来管理代码,第一步当然就是下载一个GIT客户端(不知道是不是这么叫,但是觉得和客户端的功能差不多).电脑的操作系统是windows7的,所以下的是对应的GIT. 就是这玩意,安装的时候不停的 ...

  7. 小菜鸟学Spring-读取属性文件值(三)

    Example: the PropertyPlaceholderConfigurer 属性配置文件内容如下所示: jdbc.driverClassName=org.hsqldb.jdbcDriver ...

  8. ES6的模块、构建工具及应用的发布

    作者:寸志链接:https://zhuanlan.zhihu.com/p/19569085来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 总的说来就是按照将来的标准书写 ...

  9. Yii2登陆添加验证码

    models中 LoginForm.php public $verifyCode; public function rules() { return [ …… ['verifyCode', 'capt ...

  10. firefox与chrome中对select下拉框中的option支持问题

    firefox可以直接修改option的字体样式,但是chrome中option的字体样式是继承select的,这个是在项目中遇到的,具体的可以看一下 http://www.cnblogs.com/r ...