文章结构

  • 打开官网看接口地址
      • 打开官网
    • 游戏资料里的英雄资料,并打开后台
  • 接下来是英雄技能
  • 技能结构路径方便抓取
    • jQ的获取元素这里不细说
  • 重头戏
  • 抓包到到数据库
  • 全部代码
  • 看数据库
  • 总结

打开官网看接口地址

声明 练手node即可,别较王者荣耀的真

打开官网


游戏资料里的英雄资料,并打开后台

这里要说的是你打开后面再刷新一下抓取王者荣耀官网,请求的英雄资料的接口地址

有两个数据文件 https://pvp.qq.com/web201605/js/herolist.jso


下载打开后有下面信息

接下来是英雄技能


这个是头像地址

技能结构路径方便抓取

jQ的获取元素这里不细说


重头戏

使用第三方插件爬取信息

这里要爬取的数据有头像技能英雄名字

由于第一次需要爬取相应的

所以要遍历出每一个英雄的ename,拼接一个详情页路径路径重新发请求.


抓包到到数据库

全部代码

//爬取王者荣耀的信息导入数据库
//1.抓包
//导包
var Crawler = require("crawler");
//创建一个爬虫实例
var c = newCrawler({maxConnections: 10,// This will be called for each crawled pagecallback: function (error, res, done) {if (error) {console.log(error);} else {var $ = res.$;// $ is Cheerio by default//a lean implementation of core jQuery designed specifically for the server//    console.log(res)//    所有英雄都在body里,因为是json数据转换json对象// console.log(JSON.parse(res.body))//所有的英雄都要去获取他的头像和技能.//所以要遍历出每一个英雄的ename,拼接一个详情页路径路径重新发请求.JSON.parse(res.body).forEach((v) => {// console.log(v);// console .log( `https://pvp.qq.com/web201605/herodetail/${v. ename} .shtml`);// 详情请求xq.queue(`https://pvp.qq.com/web201605/herodetail/${v.ename}.shtml`);});}done();}});
//发送请求
c.queue('https://pvp.qq.com/web201605/js/herolist.json')// 存放英雄资料
let heros = [];
// 创建一个详情爬虫实例
var xq = newCrawler({maxConnections: 10,// This will be called for each crawled pagecallback: function (error, res, done) {if (error) {console.log(error);} else {var $ = res.$;//获取里面有个cover-name这个class类里有英雄的名字//  .skill-name>因为skill-name里有一个b类这个b类里放里一个技能//英雄名字,英雄技能,// console.log($('.cover-name').text(), $('.show-list .skill-name>b').first().text(),//     $('.show-list:nth-child(2) .skill-name>b').text(),//二个技能//     $('.show-list:nth-child(3) .skill-name>b').text(),//     $('.show-list:nth-child(4) .skill-name>b').text(),// );// //  英雄头像// console.log("https:" + $('.ico-play').prev('img').attr('src'));// 把获取的英雄资料放入heros.push({Kingname: $('.cover-name').text(),Kingicon: "https:" + $('.ico-play').prev('img').attr('src'),Kingskill1: $('.show-list .skill-name>b').first().text(),Kingskill2: $('.show-list:nth-child(2) .skill-name>b').text(),Kingskill3: $('.show-list:nth-child(3) .skill-name>b').text(),Kingskill4: $('.show-list:nth-child(4) .skill-name>b').text(),// isDelete: false})}done();}});
// 因为是一个异步操作
// 要等待所有的请求全部做完
xq.on('drain', function () {heroModel.insert(heros, (err, results) => {console.log(err);console.log(results);if (!err) console.log("增加成功");});//   db.end();//关闭sql链接,可以不写防止有些数据入库
})// 入库const sql = require('mysql-ithm');//2.连接数据库
//如果数据库存在则连接,不存在则会自动创建数据库
sql.connect({host: '127.0.0.1',//数据库地址port: ' 3306 ',user: 'root',//用户名,没有可不填password: 'root',//密码, 没有可不填database: 'GloryofKings' //数据库名称
});
//3.创建Model(表格模型:负责增删改查)
//如果table表格存在则连接,不存在则自动创建
let heroModel = sql.model('herolist', {Kingname: String,Kingicon: String,Kingskill1: String,Kingskill2: String,Kingskill3: String,Kingskill4: String,// isDelete: String});

看数据库

总结

这里也形成了王者英雄的英雄管理和删除(等操作),在我的github里地址https://github.com/Alicessa/Nodev2
注意一定看项目路径地址

Node 插件 爬取王者荣耀官网英雄信息,并生成数据库相关推荐

  1. 爬取王者荣耀官网英雄皮肤高清壁纸(简易方法)

    代码加详细注释. import requests #import os url = "https://pvp.qq.com/web201605/js/herolist.json" ...

  2. python爬虫爬取王者荣耀官网全部英雄头像(源码分享)

    这篇文章为源码分享,爬虫的分析过程请阅读文章 <用python爬取王者荣耀官网的英雄皮肤海报(含源码)> 源码 import requests import json from bs4 i ...

  3. 简单20行代码爬取王者荣耀官网1080p壁纸

    简单20行代码爬取王者荣耀官网1080p壁纸 # -*- coding: utf-8 -*- # @Time : 2020/12/13 18:08 # @Author : ningfangcong i ...

  4. python爬虫爬取王者荣耀官网全部装备图片(源码分享)

    这篇文章为源码分享,爬虫的分析过程请阅读文章 <用python爬取王者荣耀官网的英雄皮肤海报(含源码)> 源码 import requests from bs4 import Beauti ...

  5. node.js(六)之crawler爬虫模块爬取王者荣耀官网所有英雄资源信息

    node.js爬虫模块爬取王者荣耀所有英雄信息 一.准备工作 https://pvp.qq.com/web201605/herolist.shtml进入王者荣耀所有英雄页面: 你会看到所有的英雄,打开 ...

  6. Python爬取王者荣耀官网图片

    脚本下载图片预览 两个月之前写的脚本,现在依然可用. #encoding=utf-8 #python3.6 import re,requests,json,os,time def down(url): ...

  7. 爬取中国所有银行官网网址信息

    爬取中国所有银行官网网址信息,并保存在文档中. from urllib import request from urllib.request import urlopen import re url ...

  8. 教你用PHP爬取王者荣耀英雄皮肤高清壁纸(附源码)

    午饭后看到一篇文章关于"用Python爬取王者荣耀官网的英雄皮肤图片",于是顺手用PHP也写了一个,在这里给大家分享一下,贴出源码: //下载王者荣耀皮肤图片 public fun ...

  9. 一键爬取王者荣耀全皮肤高清图片【方法二】

    爬取王者荣耀官网皮肤[爬虫] 上次我们讲了爬虫的定义以及爬取王者荣耀皮肤的思路. 今天我们换一种方式来爬取同样的内容.大体上思路和方法一相同. 方法一传送门:方法一 方法二 # 网址:https:// ...

最新文章

  1. 浅谈使用SQLBulkCopy批量数据入库
  2. mfc 判断文件夹复制完成_Python办公自动化|自动整理文件,一键完成!
  3. 2016matlab安装
  4. java反编译工具_Java开发必会的反编译知识(附支持对Lambda进行反编译的工具)...
  5. (转)PowerDesigner教程系列(二)概念数据模型
  6. Spring-jdbc-ConnectionHolder
  7. php怎么清空cookies,php cookie如何清除
  8. 会场安排问题和NYOJ966
  9. 退火算法(Annealing)简介与详解
  10. 推荐系统(十六)多任务学习:腾讯PLE模型(Progressive Layered Extraction model)
  11. python爬虫做毕业设计_毕业设计之 --- 爬虫
  12. 效果惊人:上古卷轴III等经典游戏也能使用超分辨率GAN重制了
  13. 基因编辑婴儿的意味着什么
  14. 爬虫-1-基础和urllib
  15. python从入门到入土表情包-Python自动生成表情包,python在手,从此斗图无敌手
  16. RabbitMQ交换机类型
  17. 移动宽带虚拟网服务器设置,移动宽带路由器怎么设置?
  18. 线性代数学习笔记6-2:行列式的理解、行列式的性质
  19. docker跨主机集群之flannel
  20. 2022北京最新建筑八大员(质量员)机考真题题库及答案解析

热门文章

  1. 非编码区单核苷酸变异
  2. 实体企业践行远程办公,云ERP是您变革利器
  3. cuda编程思想和opencv_gpu图像处理
  4. 程序员,要不要考软考高级职称?
  5. 乱斗西游2辅助 强力辅助排行一览
  6. 字体转换 (代码整理 备忘)
  7. 标视界:值得您信赖的商标查询网
  8. 智能对话 | 使用 Java实现 智能对话机器人
  9. ZYNQ PS部分简介
  10. 凡拓数字通过注册:年营收7亿 伍穗颖夫妇控制43%股权