爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

福利来了  校花网 ,首先说为什么要爬这个网站呢,第一这个网站简单爬起来容易,不会受到打击,第二呢 你懂得...。


1.第一步,需要下载爬虫所用

Requests模块,当安装Python的时候会自动安装上pip管理包工具,要是没有的话自己下载一下,地址

1.1  第二步打开的cmd 运行 pip install requests 命令,然后回车,会自动下载。

  

2.打开你的Pycharm,引入你的requests包,requests模块是可以模拟发送请求的一个模块,也有其他模块比如:urllib、httplib、Queue...等等。

另外 re 是正则模块,还有 os 对文件操作模块都引用上。

  

3.然后定义一个方法SaveImage(),用户保存获取图片的方法。

3.1 由于不可能保存一张图片,所以图片url和name都写成参数形式。

3.2 with open as 关键字是对操作文件的一种封装,包括异常处理和释放资源都有 。

3.3  write()  是写入二进制,所以 response.content 返回的是二进制。

4. 上面说到不可能只保存一直图片,所以要定义一个方法GetImage()获取当前页面所有图片的url和name。

4.1 首页先Get请求校花网其中一个导航栏中的url。

4.2 然后设置编码格式,可以右键在源代码中的 charset 查看,这里是 "gbk" 编码格式。

4.3 然后使用正则的 findall()方法,参数是一个正则和一个网页源代码,用 page.text可以获取到,返回一个字典类型。

4.5 然后循环打印 url和name,并调用上面写的保存图片的SaveImage()存起来。

5.到目前为止可以获取到整页的图片和名字了,那么有许多页怎么办呢,很简单....

5.1 为什么要把第一页的url拿出来呢,因为是这个网站的第一页和其他页的url规则不一样,所以单独处理一下。

5.2 然后for循环,循环 range(),这里 1,13 代表从1开始,到13前的一个数结束。

5.3 在循环的过程中调用获取GetImage()方法.

5.4 最后一步,每次循环的时候 使用 %s 占位符 改变翻页的url。然后Ctrl+Shift+F10 完成!

6. 然后把这些零碎的代码串起来就可以了。

  

 import requests,re,os

 #文件夹名称
FileName= 'download'
#保存图片
def SaveImage(image,name="temp"):
#图片存放路径
fpath = os.path.join(FileName, name+'.jpg')
response=requests.get("http://www.xiaohuar.com/d/file/"+image).content
#写入图片
with open(fpath+'.jpg', 'wb+') as f:
f.write(response) #获取当前页图片Url集合
def GetImage(fanyeUr):
#请求页面
page =requests.get(fanyeUr)
#设置编码
page.encoding='gbk'
#正则获取图片集合
imglist = re.findall('alt="(.*?)" src="/d/file/(.*?\.jpg)"', page.text)
#循环保存图片
for name,url in imglist:
print(url,name)
SaveImage(url,name) #判断文件夹是否存在
if not os.path.exists(os.path.join(os.getcwd(), FileName)):
#新建文件夹
os.mkdir(os.path.join(os.getcwd(),FileName)) #请求第一页
fanyeUr='http://www.xiaohuar.com/p/suyan/index.html'
#循环翻页
for faye in range(1,13):
#获取翻页Url
GetImage(fanyeUr)
fanyeUr='http://www.xiaohuar.com/p/suyan/index_%s.html' % faye

7.查看效果完成,爬的照片就不贴了,好好学习,天天向上

Python 爬虫 爬校花网!!的更多相关文章

  1. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  2. Scrapy爬虫实例——校花网

    学习爬虫有一段时间了,今天使用Scrapy框架将校花网的图片爬取到本地.Scrapy爬虫框架相对于使用requests库进行网页的爬取,拥有更高的性能. Scrapy官方定义:Scrapy是用于抓取网 ...

  3. python爬虫:爬取慕课网视频

    前段时间安装了一个慕课网app,发现不用注册就可以在线看其中的视频,就有了想爬取其中的视频,用来在电脑上学习.决定花两天时间用学了一段时间的python做一做.(我的新书<Python爬虫开发与 ...

  4. 爬虫下载校花网美女信息-lxml

    # coding=utf-8 # !/usr/bin/env python ''' author: dangxusheng desc : 下载校花网上的个人信息:名字-学校-图片地址-点赞数 date ...

  5. 用python爬校花网

    import requests import re import hashlib,time def get_index(url): response=requests.get(url) if resp ...

  6. Python爬虫 爬取百合网的女人们和男人们

    学Python也有段时间了,目前学到了Python的类.个人感觉Python的类不应称之为类,而应称之为数据类型,只是数据类型而已!只是数据类型而已!只是数据类型而已!重要的事情说三篇. 据书上说一个 ...

  7. python爬虫爬取赶集网数据

    一.创建项目 scrapy startproject putu 二.创建spider文件 scrapy genspider  patubole patubole.com   三.利用chrome浏览器 ...

  8. python爬虫基础应用----爬取校花网视频

    一.爬虫简单介绍 爬虫是什么? 爬虫是首先使用模拟浏览器访问网站获取数据,然后通过解析过滤获得有价值的信息,最后保存到到自己库中的程序. 爬虫程序包括哪些模块? python中的爬虫程序主要包括,re ...

  9. Python之爬虫-校花网

    Python之爬虫-校花网 #!/usr/bin/env python # -*- coding:utf-8 -*- import re import requests # 拿到校花网主页的内容 re ...

随机推荐

  1. selenium-iframe操作

    iframe,又叫浮动帧标记,是内嵌的网页元素,可以将一个html文件嵌入到另一个html文件中显示. 最典型的案例就是163邮箱登录:http://mail.163.com/,被绿色覆盖的部分即为i ...

  2. Git(1)----Eclipse安装Git插件

    一.从官网选择系统版本下载Git并安装 地址:https://git-scm.com/downloads/ 二.打开Eclipse 1. 第一种安装方法: help-->Install New ...

  3. C#操作Excel(读取)

    一.使用OleDb,这个法子好像不大好使.容易读错.引用System.Data.OleDb;     /**//// <summary>        /// 返回Excel数据源     ...

  4. [转载] 基于Redis实现分布式消息队列

    转载自http://www.linuxidc.com/Linux/2015-05/117661.htm 1.为什么需要消息队列?当系统中出现“生产“和“消费“的速度或稳定性等因素不一致的时候,就需要消 ...

  5. Struts2-045验证脚本

    #! /usr/bin/env python # encoding:utf-8 import urllib2 import sys from poster.encode import multipar ...

  6. 宏WINAPI和几种调用约定

    在VC SDK的WinDef.h中,宏WINAPI被定义为__stdcall,这是C语言中一种调用约定,常用的还有__cdecl和__fastcall.这些调用约定会对我们的代码产生什么样的影响?让我 ...

  7. webpack 3.X学习之CSS处理

    Loaders Loaders是Webpack最重要的功能之一,他也是Webpack如此盛行的原因.通过使用不同的Loader,Webpack可以的脚本和工具,从而对不同的文件格式进行特定处理. Lo ...

  8. 《java.util.concurrent 包源码阅读》05 BlockingQueue

    想必大家都很熟悉生产者-消费者队列,生产者负责添加元素到队列,如果队列已满则会进入阻塞状态直到有消费者拿走元素.相反,消费者负责从队列中拿走元素,如果队列为空则会进入阻塞状态直到有生产者添加元素到队列 ...

  9. django事务处理

    #导包 from django.db import transaction try: #django默认是自动提交到数据库,此处设置不让其自动提交 transaction.set_autocommit ...

  10. 电子笔记本的思考(1)(ver0.3)

    章节:电子笔记本的思考(1)   陶哲轩在<解题·成长·快乐——陶哲轩教你学数学>中着重强调,用纸笔来“缓存”思维对于数学解题的重要性: 用选定的符号表达你所知道的信息,并画一个示意图.把 ...