一、概况

上一篇我们用一个表情网站入门了爬虫,爬了很多表情。今天我们继续在爬的路上,今天就爬个校花吧,毕竟妹子属于稀缺资源,要不妈妈总会问,你到底找不找女朋友了,爬点校花吧,以后跟妈妈聊天,可以哭着对她说,这就是我女朋友,漂亮吧~。行了,为了妈妈不担心,我们开始行动吧。

二、准备

在爬之前,我们要确定我们爬取的网站以及要爬取的哪些信息。

  • 目标网站:校花网(http://www.xiaohuar.com/list-1-1.html)
  • 获取信息:
    • 校花的名字
    • 校花的照片
    • 校花的详细资料

确定好要爬的东西,就开始分析网站,其实我特别想获取联系方式,可是实力不允许呀。没有~

三、首页分析

  • URL地址变化分析

    • 第一页:http://www.xiaohuar.com/list-1-0.html
    • 第二页:http://www.xiaohuar.com/list-1-1.html
    • 第五页:http://www.xiaohuar.com/list-1-4.html

不解释了,每页的地址应该能看的清清楚楚,明明白白。

  • 提取信息分析 我们确定了每张图片都是一个独立的div标签,那么我首要任务就是把每页的div标签全部在爬下来

我们随便点一个div,看看里面的标签,从每个div里面我们可以取出下面这些信息。那么详细信息我们去哪取,对,校花的详细信息在详情链接,我们要把详情链接取出来,在去里面看看有什么?

打开详细链接,我们可以看到如下信息,是我们想要的,有些信息确实没有,那也没办法了。

先分析到这,详情页的信息,我们先不管在哪个标签下,先把我们目前想要的这些信息获取出来在说。

四、首页提取

我们用xpath插件先简单定位一下,xpath有个特别好用的功能,就是模糊定位,我们发现想要的div标签class属性都包含一个一样的样式名字。 - 注意: 一定确保只是你想要的内容包括的样式。如果下面这个包含的是item属性,就会取出126个,这肯定是不对的。功能虽好,但是一定要慎重使用。

我们已经把最重要的信息详情地址爬取下来了,剩下的就是代码实现,代码跟上一篇的斗图啦项目的逻辑差不多。

import 

上面有大家两个注意的地方 - 网站的编码格式 可以通过查看源码看到网站编码格式,可以看到这个网站并不是UTF-8的编码格式,我们可以直接用reponse.text让它自己东西编码解析。

- 代码里面请求网站源代码是否和浏览器的源代码是否一致 如果没出现取不到的情况,可以忽略这个问题。如果出现了,可以考虑一下是否是这出现的影响,在代码里面有注释。

五、详情页分析

  • 资料 随便点开一个详情页地址,先取出资料信息,取前7个tr标签,最后一个标签不取。暂时看了几个网页,好像都是这几个,后面如果遇到问题,在做容错处理。
  • 详细资料 详细资料比较好取,但是有需要注意的地方,有的校花没有详细资料。所以得做判空处理,有的详细资料标签不一样,所有咱们取父级div里面所有的文本就行。 特别提醒我这里面使用的//代表父标签任意的地方的文本。

看起来直接取父亲标签下所有的内容应该是没问题。

- 相册 我们相册都是小图,这不能是我们忍受的,我们要高清大图,但是要高清图片还要进入她的空间取获取。所以在相册这,我们只要获取到校花的空间地址就可以了。

这详情页基本上我们就需要取这些字段,去用代码一点一点爬下来。

import 

六、高清大图

这个页面我们最重要的就是把高清大图的链接找到,链接加上域名就是完整的大图地址。

在爬的过程中,我们发现有的图片是以Http开头,有的不是,并且的有是错误的图片地址,所有我们需要做容错处理。

import 

先暂时下载一些,为了九牛二虎之力,终于可以看到点比较喜欢的校花了。先来预览一张高清大图吧

还不错。但是我们需要重新整理一下代码,我们根据校花的名字创建文件夹,然后把校花的资料、详细信息、空间相册的图片全下载进去。方便我们以后管理。又到我们考虑问题的时候了 - 文件夹的命名 我们在首页提取的标题字段可以做文件夹的名字 - 图片的名字 图片的名字可以拿图片地址后多少位进行命名 - 个人信息命名 个人信息的名字也可以拿首页的标题

那么开始实现吧,在每个函数实现创建文件夹的操作。还是实现多页下载。

全部代码:

import 

最终我们在本地看到有如下的文件夹:

我只爬取了第一页,大家有兴趣的可以多爬取几页。还有一个问题,大家可以自己处理,就是把代码简单的封装一下,比如发起网络请求可以单独封装一个方法。

七、总结

我们又通过一个例子,对爬虫有了一定的理解,在爬取的过程还是会遇到很多问题的,有些问题我们可能前期就能想到,而有的问题可能在运行代码的时候才会发现。不过既然是问题,就有解决办法。所有在打算爬取一个网站的时候,还要简单分析: - 我们要提取哪些信息 - 网页地址的URL变化 - 信息应该在哪个页面提取,有的页面信息重复 - 多爬取一些信息,每个网页的结构可能不一样 - 请求的网站源代码跟浏览器里面的源代码是否有区别(以请求下来的源码为准)

好了,反正不管如何,我们把校花图片爬下来了,妈妈在也不会担心我们不给她发女朋友的照片了。

  • 此项目仅供学习,请勿用于商业用途
  • 源码

div不占位置_Python爬取校花网,妈妈再也不会担心我不给她发女朋友照片了相关推荐

  1. Python爬取校花网,妈妈再也不会担心我不给她发女朋友照片了

    本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 极客导航 即可关注,每个工作日都有文章更新. 一.概况 上一篇我们用一个表情网站入门了爬虫,爬了很多表情.今天我们继续在爬的路上,今天 ...

  2. Python爬虫框架 scrapy 入门经典project 爬取校花网资源、批量下载图片

    ####1.安装scrapy 建议:最好在新的虚拟环境里面安装scrapy 注意:博主是在 Ubuntu18.04 + Python3.6 环境下进行开发的,如果遇到安装scrapy不成功请自行百度/ ...

  3. 使用Xpath爬取校花网,致敬10年前的校花『和』我们逝去的青春

    使用xpath爬取校花网 难点: 1.各个分类栏目下的页码url不统一 2.只取前三页,或者后三页 文章代码仅使用xpath和requests,本来想用scrapy框架的,但是偷了个懒. 所以就-哈哈 ...

  4. scrapy 爬取校花网

    原文链接: scrapy 爬取校花网 上一篇: scrapy 安装和简单命令 下一篇: scrapy 腾讯 招聘信息爬取 网址,爬取名称和对应的图片链接,并保存为json格式 http://www.x ...

  5. Python爬虫:正则表达式爬取校花网

    #正则表达式爬取校花网 # 网址 url = 'http://www.xiaohuar.com' #分页爬取大学校花图片共16页640张美图 1.导入模块 import requests import ...

  6. pycharm 爬取校花网

    1 1:什么是爬虫 2 定义:狭义:模拟浏览器,浏览网页,保存数据的程序 3 定义:广义:自动下载网络数据(网页,游戏,qq)的程序 4 打开校花网 'www.xiaohuar.com/hua/' # ...

  7. scrapy爬取校花网男神图片保存到本地

    爬虫四部曲,本人按自己的步骤来写,可能有很多漏洞,望各位大神指点指点 1.创建项目 scrapy startproject xiaohuawang scrapy.cfg: 项目的配置文件 xiaohu ...

  8. python爬取校花网的图片

    import re import os.path import requests import hashlib import timerespose=requests.get('http://www. ...

  9. python爬虫爬取校花网视频

    import re import requests import hashlib import time# respose=requests.get('http://www.xiaohuar.com/ ...

最新文章

  1. 机房设备与线路资源管理
  2. iOS网络开发之:NSURLConnection
  3. 转:性能测试中的性能测试指标与用户体验分析
  4. 十一、深入Java的判断语句
  5. Kubernetes环境下的各种调试方法
  6. 【简便解法】1091 N-自守数 (15分)
  7. 关注BLUEBEE的浏览器发展
  8. wpf Webbrowser 乱码问题及弹窗被遮挡
  9. 31岁零基础转行软件测试,现已成功入职月薪14K+
  10. 555定时器的应用——多谐振荡器
  11. python 英文字典-python如何制作英文字典
  12. 【Android -- 数据存储】LitePal 的基本使用
  13. matlab求两点的距离,matlab求两点间距离
  14. 框架合集:Java框架自学视频教程-动力节点
  15. elasticsearch启动报错:master not discovered yet
  16. STN( Spatial Transformer Network)
  17. lstm 文本分类_带有lstm和单词嵌入的灾难推文上的文本分类
  18. 计算机网络考研、招聘面试问题总结
  19. JAVA简易贪吃蛇游戏实现
  20. 超轻薄笔记本电脑软件测试,2009年度-13英寸超轻薄笔记本年度横向评测

热门文章

  1. 数据库表关联关系的基础知识
  2. 常用的消息摘要算法小总结
  3. Ogre:ManualObject
  4. REPERTOIRE: CD
  5. 辣条社区:问题解答、面试系列、求职助力、学习资源,你需要的都在这里
  6. 相对于其他框架的离子应用开发:它被炒作了吗?
  7. 编程计算机教小明加法,Python校本课程第四课——教案
  8. mysql 跳过一个事物_MYSQL GTID跳过指定事务
  9. 大专java考试试题_专科—程序设计基础题库-java.doc
  10. Python+OpenCV:Optical Flow(光流)