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. 空间计量模型_Stata空间面板数据模型专题直播丨Stata空间计量3月远程直播
  2. python数学--假设班里25个同学,那么有生日相同的概率是多少?
  3. 如下为利用Linux内核链表创建,Linux内核中链表的实现与应用
  4. javascript之Bom简介
  5. Hive远程模式安装指导
  6. 系统学习NLP(八)--中文分词整理
  7. Android 学习之Fragment生命周期
  8. 用nunit时,老是搞忘英文,在这里记录一下,方便到处查阅
  9. 中文知识图谱研讨会的学习总结 (上) 图谱引入、百度知心、搜狗知立方
  10. c语言课后作业,C语言练习题
  11. word文档打对勾_word文档怎么打勾 word文档方框内打勾六种方法介绍
  12. Function eregi is deprecated (解决方法)
  13. 小米html查看器 联网,小米摄像机如何连接无线路由器通过手机查看
  14. 服务器上文件不能重命名,服务器文件重命名
  15. tp5.1 页面调取微信扫一扫识别条形码和二维码
  16. 重装系统要花钱?教你免费一键重装win10系统
  17. manjaro xfce 环境配置
  18. DAY5-URDF优化 简单小练习 工具
  19. 笔记整理-MySQL高级
  20. Ubuntu20.04开放指定端口

热门文章

  1. oracle时间怎么相加减,Oracle 如何对时间进行简单加减运算
  2. 微信小程序新坑-文字溢出连续英文或者英文溢出 会出现字符
  3. rust怎么拆除墙壁指令_腐蚀有什么指令?基本指令及服务器指令汇总
  4. AndroidStudio使用properties资源文件
  5. SpringBoot JPA多对一 持久化是报错object references an unsaved transient instance - save the transient instanc
  6. redis的持久化方式RDB和AOF的区别
  7. BAT、华为、头条等各大互联网公司职级、薪资、股权大揭秘
  8. 将两个有序链表合并成一个链表
  9. JAVA基于局域网的聊天室系统(源代码+论文)
  10. css炫酷标题,分享几个CSS小众但炫酷的技巧