import json
import time
import urllib.request
import pymysql
def save_to_mysql(db, items):# 获取cursorcursor = db.cursor()# 拼接sql语句sql = 'insert into hero(c_name, tags, image, name, shuxing,jineng,beijing) values("%s","%s","%s","%s","%s","%s","%s")' % (items['c_name'], items['tags'], items['image'], items['name'], items['shuxing'], items['jineng'], items['beijing'])# 执行sql语句try:cursor.execute(sql)db.commit()except Exception as e:print(e)db.rollback()
#保存数据库def get_it(db):
#js获取url = 'https://lol.qq.com/biz/hero/champion.js'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36',}requests = urllib.request.Request(url=url, headers=headers)content = urllib.request.urlopen(requests).read().decode('gb2312')content = content.split(';')[1]content = content.lstrip('LOLherojs.champion =')# print(type(content))# print(content)content = json.loads(content)#拿到json数据hero_list = list(content['keys'].values())# print(hero_list)items = {}fp = open('hero.json', 'w', encoding='utf8')#存入文件for hero_name in hero_list:src = 'https://lol.qq.com/biz/hero/' + hero_name + '.js'#print(src)requests = urllib.request.Request(url=src, headers=headers)content = urllib.request.urlopen(requests).read().decode('gb2312')content = content.split(';')[1]content = content.split('=', 1)[1]content = json.loads(content)c_name1 = content['data']['title']c_name2 = content['data']['name']items['c_name']=c_name1 + c_name2# 英雄名称items['tags'] = content['data']['tags']# 英雄标签items['image'] = content['data']['image']['full']# 英雄图片items['name'] = content['data']['id']#英文名称print('正在保存--%s'%items['name'])items['shuxing'] = content['data']['info']jineng = {}for i in content['data']['spells']:jineng[i['id']] = i['description']items['jineng'] = jineng#技能被动描述items['beijing'] = content['data']['blurb']#英雄背景可以切词save_to_mysql(db, items)#保存数据库string = json.dumps(items, ensure_ascii=False)#python转为json格式保存fp.write(string + '\n')print('完成保存--%s' % items['name'])time.sleep(3)fp.close()def connect_db():db = pymysql.Connect(host='localhost', port=3306, user='root', password='123456', database='lol', charset='utf8')# 两种引擎  innodb   myisamreturn dbdef main():db = connect_db()get_it(db)if __name__ == '__main__':main()

python爬取lol所有英雄信息相关推荐

  1. Python爬取王者荣耀英雄的皮肤数据并下载皮肤图片项目

    Python爬取王者荣耀英雄的皮肤数据,并下载皮肤图片!高清的图片用来做桌面也不错哟~ 网址:https://pvp.qq.com/web201605/herolist.shtml 1.获得英雄信息, ...

  2. 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)

    教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...

  3. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  4. Python爬取安居客经纪人信息

    Python爬取安居客经纪人信息 Python2.7.15 今天我们来爬取安居客经纪人的信息.这次我们不再使用正则,我们使用beautifulsoup.不了解的可以先看一下这个文档,便于理解.http ...

  5. python爬取斗鱼当前英雄联盟主播排名

    python爬取斗鱼当前英雄联盟主播排名 代码 # 目的:爬取斗鱼英雄联盟当前主播的排名 # 找到对应网页 # 分析排名和名称相对的位置# 模拟HTTP请求,获取HTML数据 # 用正则表达式获取对应 ...

  6. Python爬取药监局化妆品管理信息发现的问题

    Python爬取药监局化妆品管理信息 **1.json格式本质上是字符串!!! 今天在爬取国家药监局化妆品管理信息的时候,发现"json数据本质上是字符串",以前我还以为json本 ...

  7. Python爬取 | 王者荣耀英雄皮肤海报

    这里只展示代码,具体介绍请点击下方链接. Python爬取 | 王者荣耀英雄皮肤海报 import requests import re import os import time import wi ...

  8. Python 爬取拉勾招聘信息

    Python 爬取拉勾招聘信息 故事背景 最近有个好哥们啊浪迫于家里工资太低,准备从北方老家那边来深圳这边找工作,啊浪是学平面设计的知道我在深圳这边于是向我打听深圳这边平面设计薪资水平,当时我有点懵逼 ...

  9. python爬取b站用户_用Python爬取bilibili全站用户信息

    教你用Python爬取哔哩哔哩全站用户信息 运行 下载 git clone https://github.com/cexll/bili_user_Spider.git 复制代码 运行环境 Window ...

最新文章

  1. Android -- Intent
  2. 2016-8-13第二周作业
  3. zcmu1209(dfs)
  4. 【动态规划】三种基本背包问题
  5. mongoDB中的数据类型
  6. 心得7--JDBC回顾-批处理案例解说
  7. 動態設定GridView的列寬
  8. JavaScript:异步执行机制
  9. Chilkat -- python又一个强大的库
  10. mac修改了/etc/profile导致所有命令不能用、mac下vim不能使用
  11. web前端 原生js签名板(电子签名)写字板 canvas 截图
  12. tensorflow中常用的激活函数
  13. 线段树维护(最大区间和,最大子段和,最长连续上升子序列)
  14. java gnuplot,用 Gnuplot 绘制实验数据
  15. Go语言核心:Go的基本结构
  16. 独轮平衡车c语言源码,双轮平衡车程序 - 源码下载|嵌入式/单片机编程|源代码 - 源码中国...
  17. R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算accuray、准确率指标
  18. springboot的登录拦截器的学习
  19. 2.Python-简单数据类型
  20. 基于opencv的图像的无失真放大

热门文章

  1. 三维图像处理_三维全景技术是怎样的黑科技
  2. 2020年终总结——走在代码公益的路上
  3. C++游戏编程--模拟键盘打字程序
  4. vue-element-admin安装指南
  5. 微信小程序上传图片(前端+PHP后端)
  6. Unit2 附加问句
  7. 安卓查看内存读写测试软件_关于手机运行内存的四大误区,你信了几个?
  8. spring MVC从零开始
  9. websocket服务器无响应,WebSocket服务器因某些原因无法正常工作(WebSocket server not working for some reasons)...
  10. 从win7到win10的那些事~