#-*- coding utf-8 -*-

importurllibimporturllib.requestimportjsonimporttimeimportxlsxwriterfrom asyncio.tasks importsleepimportre#根据第一页数据创建信息表头

header =[]

url= "http://apps.game.qq.com/daoju/v3/api/hx/goods/api/list/v54/GoodsListApp.php?view=biz_cate&page=1&pageSize=8&orderby=dtShowBegin&ordertype=desc&cate=17&appSource=pc&appSourceDetail=pc_lol_revison&channel=1001&storagetype=6501&plat=0&output_format=jsonp&biz=lol"data= json.loads(urllib.request.urlopen(url).read().decode("gbk").replace("var ogoods_list_api =","").replace("\n",""))

goods_info= data["data"]["goods"][0]["valiDate"][0]for i inrange(len(goods_info)):

header.append(''.join((re.findall("\w",str(str(goods_info).split(",")[i]).split(":")[0]))).strip())#创建工作簿,写表头

workbook = xlsxwriter.Workbook("E:/lol_sales.xlsx")

sheet= workbook.add_worksheet("result")for i inrange(len(header)):

sheet.write(0,i,header[i])#获取数据

row_index = 1

for page_index in range(1,61):

url= "http://apps.game.qq.com/daoju/v3/api/hx/goods/api/list/v54/GoodsListApp.php?view=biz_cate&page=" + str(page_index) + "&pageSize=8&orderby=dtShowBegin&ordertype=desc&cate=17&appSource=pc&appSourceDetail=pc_lol_revison&channel=1001&storagetype=6501&plat=0&output_format=jsonp&biz=lol"data= json.loads(urllib.request.urlopen(url).read().decode("gbk").replace("var ogoods_list_api =","").replace("\n",""))for goods_index in range(6):try:for col_index inrange(len(header)):if header[col_index] == "award":pass

else:

sheet.write(row_index,col_index,data["data"]["goods"][goods_index]["valiDate"][0][header[col_index]])

row_index+= 1

except:pass

print("page" +str(page_index))

workbook.close()print("finish")

获取的数据内容如下:

总结:

1.表头的获取方式。

不要再自己编写表头啦,一是太费事,二是不灵活。

通过创建空的列表,读取示范页面(如第一页)的信息表头,使用.append即可创建所需表头。

2.多数网站的数据格式都是json,但是其返回的还附带了json数据的表头,注意删除掉。

如.replace("var ogoods_list_api = ","").replace("\n","")。这样才是符合格式要求的json(可以用这个网站测试json格式是否标准:Be JSON),否则无法用json.loads()读取,因为会被识别成字符串。

3.json.loads(s),中读取的是字符串数据。

4.即使读取出来的数据编码是unicode,但是写入excel的时候就被解码了。(使用了多种方式仍无法对数据解码,故打算提取后单独解码,后发现写入excel的是解码后的数据。意外发现。)

5.关于表头的提取:

首先使用两次split,分别是“,”和“:”将json的key提取出来。

接下来使用正则表达式提取{'ret'中的ret。在这里使用了这样的方法:用\w提取英文字符,再用''.join()合并起来

python爬取和平精英皮肤_Python——LOL官方商城皮肤信息爬取(一次练手)相关推荐

  1. python爬取和平精英皮肤_20行Python代码爬取王者荣耀全英雄皮肤

    引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了.我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成. 准备工 ...

  2. 《和平精英》崩了 官方回应:受运营商网络波动影响 正在修复

    [TechWeb]7月25日消息,今日午间,有大部分网友反映<和平精英>游戏出现崩溃现象,玩家无法连接到服务器. 针对此事,和平精英官方就"登录异常"一事做出回应称,& ...

  3. Scrapy框架爬虫项目:京东商城笔记本电脑信息爬取

    一.创建Scrapy项目 在cmd中输入一下指令创建一个新的scrapy项目及一个爬虫 scrapy startproject JD_Goodscd JD_Goodsscrapy genspider ...

  4. python爬取小说项目概述_Python实战项目网络爬虫 之 爬取小说吧小说正文

    本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 ...

  5. python 爬虫动态网页的区别_Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取...

    区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...

  6. python爬取大众点评数据_python爬虫实例详细介绍之爬取大众点评的数据

    python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python ...

  7. python爬虫翻页代码 豆瓣_Python爬虫 豆瓣动态页面的爬取

    动态页面和静态页面可通过检查元素查看爬取的信息和查看源代码中的信息是否一致,一致则为静态页面,反则为动态页面.因为检查查看的代码是经过处理后生成的,而查看源代码形式是你实际抓取的页面. 1.爬虫思路 ...

  8. python爬取高德poi数据_Python突破高德API限制完全爬取POI兴趣点数据

    一.背景 爬取POI数据,基本上是个老生常谈的话题了,现在市面上随处可见各路大神制作的获取POI数据的工具,但是当我将从高德地图中实际获取的POI数据与工具爬取的POI数据进行对比之后发现,市面上流行 ...

  9. python爬取文字和图片_python爬虫--xpath结合re同时爬取文字与图片

    还是老家的旅游网址:http://www.patour.cn/site/pananzxw/tcgl/index.html,将这些特产的图片及其介绍都爬取下来! 源码: 1 # -*- coding:u ...

  10. Python——LOL官方商城皮肤信息爬取(一次练手)

    # -*- coding utf-8 -*- import urllib import urllib.request import json import time import xlsxwriter ...

最新文章

  1. 精选26个Python实用技巧,想秀技能先Get这份技术列表!
  2. 一个synchronized跟面试官扯了半个小时
  3. golang基本数据类型string字符串常用方法代码示例
  4. 用getBoundingClientRect()来获取页面元素的位置
  5. Unity3D 多平台_预编译相关宏定义
  6. 算法实践——改良的求解数独的暴力搜索法
  7. 电脑ps计算机磨皮,ps磨皮教程
  8. SpringBoot整合MybatisPlus实现逻辑删除
  9. CentOS在ssh远程重装系统的步骤
  10. CentOS7下 SVN版本控制的安装(包括yum与非yum)的步骤记录。
  11. OpenCV/kornia/Pillow/Halcon/NI Vision/MIL/*计算机视觉资料汇总
  12. 解析函数论 Page 22 达朗贝尔判别法 VS 柯西判别法
  13. 分期利息计算——考虑免息日期和多利率设定的思路设计和代码实现
  14. 用python成为一名顶级黑客
  15. 【ACF学习】ACF安装、训练及检测初探
  16. 中国十大金牌游戏策划
  17. 2.写一个WebDriver脚本
  18. 海思处理器在单板上使用GDB的方法
  19. 基于cc2530获取DHT11的温湿度数据
  20. Ubuntu虚拟机ns_error_failure 0x80004005错误

热门文章

  1. 1分钟链圈 | 凤凰网推出区块链产品“凤凰蛋”;阿里否认涉足区块链和发币,称麻吉宝已下线;Google朱会灿,AI回归
  2. 云原生微服务治理etcd应用实战
  3. 【Windows】网线直连实现两台电脑共享文件夹
  4. 计算机占用空间怎么算,电脑系统我的电脑的C盘空间占用了19G还剩余8G,请问这算是正常 爱问知识人...
  5. NAR:vRhyme - 对宏基因组中的病毒基因组进行分选的生信工具
  6. 2018年中考计算机考试成绩,2018年北京中考考试科目、时间及成绩公布通知
  7. 什么是 NLP (自然语言处理)
  8. COSTDOWN版本的NRF51802和NRF51822的复位问题
  9. python中del什么意思_python中del是什么意思?
  10. CF1095A Repeating Cipher