之前被两个关系很好的朋友拉入了王者荣耀的大坑,奈何技术太差,就想着做一个英雄的随查手册,这样就可以边打边查了。菜归菜,至少得说明咱打王者的态度是没得说的,对吧?大神不喜勿喷!!!感谢!!废话不多说,开始上干货

一 .需要准备的工具

  vscoede,安装好的scrapy框架,浏览器,PhantomJS无界面浏览器(或者chromedriver)

二 . 预期目标

  爬取王者荣耀官网上77位英雄的ID,名字,皮肤名字,生存能力,攻击伤害,技能效果,上手难度(这四项均是百分制),技能信息,技能加点,铭文建议,推荐出装,英雄故事

三 . 制作过程

1.通过命令行创建scrapy文件夹,并且用vscode打开

2.创建基本流程

  items文件

  

  pipeline(管道)文件:

  

这里为了将python中的dict对象按照一定的格式写入文件,这里采用了json模块,关于这个问题,可以参考我的另一篇博文:

  python如何将字典格式化写入文件当中:https://www.cnblogs.com/RosemaryJie/p/12449764.html

  在写入文件的过程中,如果出现乱码的问题,请参考:

  python编码的原理以及写入文件中乱码的问题:https://www.cnblogs.com/RosemaryJie/p/12364099.html

  middleware文件:

  配置浏览器User-Agent  

    如何配置请参考:

    python基于scrapy框架的反爬虫机制破解之User-Agent伪装https://www.cnblogs.com/RosemaryJie/p/12336662.html

  写好这些文件之后一定要记得在settings文件中进行配置

3.页面分析(以孙尚香 香香为例)

  导入的库:

  技能加点部分:

  浏览器所显示出来的XHTML文档部分(检查者工具):

  网页源代码:

  

可以明显看到,检查者工具和网页源代码中关于技能加点部分的源代码是不一样的。这时候我们可以采用selenium模块驱动模拟浏览器来获得我们所需要XHTML文本内容(也就是检查者工具里所呈现出的)

  为了此篇博客的简介,具体相关内容在这里不再赘述,感兴趣的同学可以移步参考此篇博文:

  爬虫如何使用phantomjs无头浏览器解决网页源代码经过渲染的问题(以scrapy框架为例)https://www.cnblogs.com/RosemaryJie/p/12454190.html

这里采用的方法是重新用所获得XHTML文本构建一个新的HtmlResponse对象

解决了浏览器渲染问题之后,剩下的问题就很简单了,常规xpath提取信息而已,在这里就直接上原码了

4.运行爬虫即可

至此,一个实用又装逼的爬虫程序就此大功告成

  

  

四 .效果图:

在做这个爬虫程序的时候,作为小白,也遇到了不少的坑,也算积攒了些许经验。如果有喜欢王者的同好碰到问题的话,也欢迎在评论区留言交流,我也会尽我所能地帮大家大家做一些解答。

码字不易,点个赞再走呗!

手把手教大家如何用scrapy爬虫框架爬取王者荣耀官网英雄资料的更多相关文章

  1. 手把手教你如何新建scrapy爬虫框架的第一个项目(上)

    前几天给大家分享了如何在Windows下创建网络爬虫虚拟环境及如何安装Scrapy,还有Scrapy安装过程中常见的问题总结及其对应的解决方法,感兴趣的小伙伴可以戳链接进去查看.关于Scrapy的介绍 ...

  2. 手把手教你如何新建scrapy爬虫框架的第一个项目(下)

    前几天小编带大家学会了如何在Scrapy框架下创建属于自己的第一个爬虫项目(上),今天我们进一步深入的了解Scrapy爬虫项目创建,这里以伯乐在线网站的所有文章页为例进行说明. 在我们创建好Scrap ...

  3. scrapy爬虫框架爬取招聘网站

    目录结构 BossFace.py文件中代码: # -*- coding: utf-8 -*-import scrapyfrom ..items import BossfaceItemimport js ...

  4. python爬虫---爬取王者荣耀全部皮肤图片

    代码: import requests json_headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win ...

  5. 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...

  6. Scrapy爬虫笔记 - 爬取知乎

    cookie是一种本地存储机制,cookie是存储在本地的 session其实就是将用户信息用户名.密码等)加密成一串字符串,返回给浏览器,以后浏览器每次请求都带着这个sessionId 状态码一般是 ...

  7. 【网络爬虫】【python】网络爬虫(五):scrapy爬虫初探——爬取网页及选择器

    在上一篇文章的末尾,我们创建了一个scrapy框架的爬虫项目test,现在来运行下一个简单的爬虫,看看scrapy爬取的过程是怎样的. 一.爬虫类编写(spider.py) from scrapy.s ...

  8. 如何用python爬虫从爬取一章小说到爬取全站小说

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  9. python-scrapy爬虫框架爬取拉勾网招聘信息

    本文实例为爬取拉勾网上的python相关的职位信息, 这些信息在职位详情页上, 如职位名, 薪资, 公司名等等. 分析思路 分析查询结果页 在拉勾网搜索框中搜索'python'关键字, 在浏览器地址栏 ...

随机推荐

  1. 吴裕雄--天生自然KITTEN编程:狡兔三窟

  2. 吴裕雄--天生自然 R语言开发学习:分类(续二)

    #-----------------------------------------------------------------------------# # R in Action (2nd e ...

  3. NBA球星的生意经 个人流量化之路

    个人流量化之路" title="NBA球星的生意经 个人流量化之路"> 在国人欢天喜地的庆祝新春佳节之时,大洋彼岸也在进行着让全球篮球迷为之"着魔&quo ...

  4. 项目搭建到Linux--实用笔记

    项目搭建到Linux--实用笔记 1.启动redis 目录  /usr/local/redis/bin    (我自己的目录)             启动 ./redis-server redis. ...

  5. Python如何让字典保持有序

    问题: Python如何让字典保持有序 ? 解决方案: 使用collections.OrderedDict代替Dict. 验证程序: from collections import OrderedDi ...

  6. ES:在线迁移集群索引,数据不丢失

    一.背景 生产环境由于某些原因需要跨机房迁移ES集群,或者同机房原有集群中所有节点全部更换,期间ES索引要求完整,客户端请求中断不超过五分钟. 二.应用场景 1.同机房不同集群之间数据迁移: 2.跨机 ...

  7. fabric 初步实践

    在集群部署时,我们经常用到堡垒机作为跳板,堡垒机和集群的其他的用户名.密码.端口号都是不同的,fabric如何进行配置不同的用户.端口号和密码. fabric作为一种强大的运维工具,可以让部署运维轻松 ...

  8. MAC使用nginx分发80至8080端口

    由于项目必须要启动80端口,但是mac系统中非root用户无法直接使用1024以下的端口 2.释放apache的80端口 由于Mac OS是自带Apache服务的,它本身占用了80端口,首先你需要将A ...

  9. Mybatis: 插件及分页

    Mybatis采用责任链模式,通过动态代理组织多个拦截器(插件),通过这些拦截器可以改变Mybatis的默认行为(诸如SQL重写之类的). Mybatis支持对Executor.StatementHa ...

  10. C++扬帆远航——7(年月日)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:charizi.cpp * 作者:常轩 * 完成日期:2016年 ...