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

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

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

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

请先准备

作案工具

我们只准备最简单的

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 其他……

是不是还不够

行踪不定的下期预告

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

时间: 2024-08-05 16:05:54

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

python爬煎蛋妹子图

# python3 # jiandan meizi tu import urllib.request import os import time import random def url_open(url): req1 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.0'}) req2 = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/4.1

手把手教你写网络爬虫(1):网易云音乐歌单

把之前发表在微信公众号的爬虫系列文章迁移过来,热热身,就当备份了. 手把手教你写网络爬虫(1) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 大家好,<手把手教你写网络爬虫>连载开始了!在笔者的职业生涯中,几乎没有发现像网络爬虫这样的编程实践,可以同时吸引程序员和门外汉的注意.本文由浅入深的把爬虫技术和盘托出,为初学者提供一种轻松的入门方式.请跟随我们一起踏上爬虫学习的打怪升级之路吧! 介绍 什么是爬虫? 先看看百度百科的定义: 简单的说网络爬虫(Web crawler)也叫做

手把手教你写网络爬虫(3):开源爬虫框架对比

手把手教你写网络爬虫(3) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 介绍 大家好!我们从今天开始学习开源爬虫框架Scrapy,如果你看过<手把手>系列的前两篇,那么今天的内容就非常容易理解了.细心的读者也许会有疑问,为什么不学出身名门的Apache顶级项目Nutch,或者人气飙升的国内大神开发的Pyspider等框架呢?原因很简单,我们来看一下主流爬虫框架在GitHub上的活跃度: Project Language Star Watch Fork Nutch Java 1

[原创]手把手教你写网络爬虫(8):乱码

手把手教你写网络爬虫(8) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 字符编解码是爬虫里必学的一项知识,在我们的爬虫生涯中早晚会爬到乱码的网页,与其遇到时惊慌失措,不如早学早好,彻底避免乱码问题. 字符编码简介 什么是字符集 在介绍字符编码之前,我们先了解下什么是字符集. 字符(Character)是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集:

手把手教你使用Python抓取QQ音乐数据!

[一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐数据(第二弹)我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评. 通过手把手教你使用Python抓取QQ音乐数据(第三弹)我们实现了获取更多评论并生成词云图. 此次我们将将三个项目封装在一起,通过菜单控制爬取不同数据. [二.需要的库] 主要涉及的库有:requests.openpyxl.

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

  第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果: 从程序来讲,步骤分为三步: 1.发起一个http请求,获取返回的response内容: 2.解析内容,分离出有效图片的url: 3.根据这些图片的url,生成图片保存至本地. 开始详细说明: 准备工作:HttpClient的Jar包,访问http://hc.apache.org/   自行下

手把手教你用python打造网易公开课视频下载软件3-对抓取的数据进行处理

上篇讲到抓取的数据保存到rawhtml变量中,然后通过编码最终保存到html变量当中,那么html变量还会有什么问题吗?当然会有了,例如可能html变量中的保存的抓取的页面源代码可能有些标签没有关闭标签,例如<div>hello</,这样的错误,那么怎么处理呢?接着看下面的代码: soup=BeautifulSoup(html) 其中利用模块BeautifulSoap,可能很方便去整理html源文件内容,这里我写了个小例子,大家看一下,代码如下: html='<html>&l

手把手教你用python打造网易公开课视频下载软件4-图形化界面

上一篇讲解完函数:def getdownLoadInfo (url): 传入公开课的url地址,就可以提取课程的信息,这一篇讲解一下如何编写图像化界面.大概思考一下图像化界面需要的内容: (1)一个标签:显示为:"请输入公开课地址" (2)一个文本框:用来输入地址 (3)一个按钮:点击用来提取视频信息 (4)一个标签和多行文本框,其中标签用来显示课程信息,多行文本用来显示下载链接 完成后的效果图如下: 我们先贴出代码: #创建APP app=wx.App(False) #创建frame

手把手教你搭建Python虚拟环境,还不会赶紧收藏学习哦!

不同的python项目可能会用到不同的包,而不同的包或不同的python版本之间可能存在冲突.因此,为每个项目创建不同的虚拟环境非常有用.它可以保证一个项目只访问,它所在虚拟环境下安装的包,保持全局解释器的干净整洁,而且由于环境是独立的,因此不需要超户权限. 创建虚拟环境的方式一般有以下几种. 一种是自Python 3.3增加的用于创建虚拟环境的venv标准库.使用这种方法会在指定目录下,创建一个指定虚拟环境名字的文件夹. 像下面这样,在我创建了一个名为 vir1 的虚拟环境后,产生了一个对应的