当前位置: 首页 > news >正文

手把手教你用Python爬虫煎蛋妹纸海量图片

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

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

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

 

8c66c6cec3fdfc0301a33d68d23f8794a6c226a5_副本.jpg

请先准备

作案工具

我们只准备最简单的

          python 2.7.11

         Google Chrome

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

需要用到的包

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

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

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

         pip install requests

         pip install beautifulsoup4

干正事

从一次正常需求说起

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

请,看,下,图

虐不虐配图1.jpg

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

虐不虐?虐死了!

下不下?下!

开始吧

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

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

01,虐不虐.png

 

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

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

看下图右边的神器

02右边的神器.png

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

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

03感兴趣的部分.png

按照图片指示点击区域

04点击区域.png

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

05需要的img标签.png

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

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

下面让我们来一些

神秘的事

打开cmd或者终端

输入python

06输入python_副本.png

输入以下神秘代码

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)

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

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

07好羞羞的有很多图片_副本.png

咳咳是这样的

07好羞羞的有很多图片.png

名词解释

网络爬虫

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

 

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

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

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

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

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

适用场景

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

是不是还不够

行踪不定的下期预告

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

相关文章:

  • 详细了解前后端交互B/S,细的不能在细了
  • 站立会议07
  • git的操作 使用
  • [Enterprise Library]调用Enterprise Library时出现的错误事件之关闭办法
  • 同源策略以及回调地狱和方法
  • redis 集群
  • 项目的简单描述加实例代码
  • 远程协助解决重建索引的危机问题
  • 解析、理解 cookie
  • 04-Windows频繁打开和关闭端口可能引发的问题 | 07.杂项
  • ajax的简单了解,适合刚进门 的,注释相对比较详细
  • Android——shape和selector和layer-list的(详细说明 转)
  • ajax的兼容问题
  • 对象管理器(defineProperty)学习笔记
  • ajax的登录页面,发送post方式
  • 2017 年终总结 —— 在路上
  • 78. Subsets
  • Apache Spark Streaming 使用实例
  • Java面向对象及其三大特征
  • JS学习笔记——闭包
  • linux学习笔记
  • React16时代,该用什么姿势写 React ?
  • select2 取值 遍历 设置默认值
  • Selenium实战教程系列(二)---元素定位
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 搭建gitbook 和 访问权限认证
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 如何设计一个微型分布式架构?
  • 深度学习入门:10门免费线上课程推荐
  •  一套莫尔斯电报听写、翻译系统
  • 源码安装memcached和php memcache扩展
  • 【云吞铺子】性能抖动剖析(二)
  • ​一些不规范的GTID使用场景
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (第一天)包装对象、作用域、创建对象
  • (七)Java对象在Hibernate持久化层的状态
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)C#调用WebService 基础
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .Net 应用中使用dot trace进行性能诊断
  • .NET 中让 Task 支持带超时的异步等待
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • []Telit UC864E 拨号上网
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [BZOJ] 2044: 三维导弹拦截
  • [BZOJ1053][HAOI2007]反素数ant
  • [Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [javaSE] 看知乎学习工厂模式