Python---20行代码爬取斗鱼平台房间数据(下)

简介: 在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格。工具:Python3.6.5,Pycharm1.

上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格。
工具:Python3.6.5,Pycharm


1.模块介绍

XlsxWriter模块具有的功能:

  • 100%兼容Excel的*.xlsx文件,支持Excel2003,Excel2007等版本
  • (Excel2003-和Excel2007的拓展名为*.xls)
  • 支持所有Excel单元格数据格式
  • 单元格合并、批注、自动筛选、丰富多格式字符串等
  • 支持工作表JPG、PNG图像,自定义图标
  • 内存优化模式支持写入大文件

2.模块安装

pip install xlsxwriter
# 在命令行中输入此代码
# 目前最新版本为1.0.0,官网文档介绍支持Python2.5-3.5,但目前使用Python3.6未发生异常

模块的具体用法可以参考这两个网站(感谢这两个网站提供解释):
官方xlsxwriter解释
CSDN吴芒果:XlsxWriter模块实现Excel操作


3.模块使用

import xlsxwriter

workbook = xlsxwriter.Workbook('Demo1.xlsx')    # 创建一个名为‘Demo1.xlsx’的工作表
worksheet = workbook.add_worksheet()            # 创建一个工作表对象

worksheet.set_column('A:A', 20)                 # 设定第一列(A)的宽度为20px
# bold = workbook.add_format({'blod': True})

worksheet.write('A1', 'Hello World!')           # A1单元格写入‘Hello World!’
worksheet.write('A2', '你好,世界!')             # A2单元格写入‘你好,世界!’

# 行列表示法的单元格下标以0作为起始值,如‘3,0’等价于‘A4’
worksheet.write(2, 0, 123)              # 使用列行表示法写入数字‘123’
worksheet.write(3, 0, 456)              # 使用列行表示法写入数字‘456’
worksheet.write(4, 0, '=SUM(A3:A4)')    # 求A3:A4的和,并写入‘4,0’,即‘A5’

worksheet.insert_image('A5', 'XLSX.png')        # 在A5单元格插入图片
workbook.close()        # 关闭Excel文件
img_1936923b26b58036add52fedc2714b3f.png
运行结果

4.如何运用到上一篇(爬取斗鱼房间数据)中去

上一篇链接

import requests
import json
import xlsxwriter

workbook = xlsxwriter.Workbook('E:\\DOUYU.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_column('A:A', 20)
worksheet.set_column('B:B', 10)
worksheet.set_column('C:C', 40)
worksheet.set_column('D:D', 10)
p = 0
urls = ['https://www.douyu.com/gapi/rkc/directory/2_1/{}'.format(page) for page in range(1, 5)]
for url in urls:
    res = requests.get(url)
    j = json.loads(res.text)
    l1 = j['data']
    l2 = l1['rl']
    p = p+1
    for i in range(len(l2)):
        Anchor = l2[i]['nn']              # 获取主播名字
        RoomNumber = l2[i]['rid']         # 获取房间号
        Heat = l2[i]['ol']                # 获取热度
        RoomName = l2[i]['rn']            # 获取房间名
        worksheet.write(int(i+120*(p-1)), 0, Anchor)   
        worksheet.write(int(i+120*(p-1)), 1, RoomNumber)
        worksheet.write(int(i+120*(p-1)), 2, RoomName)
        worksheet.write(int(i+120*(p-1)), 3, Heat)
# i+120*(p-1):120是因为每一页有120个房间,本次爬取了5页房间数据,用了p = p+1来使得Excel表格能连续记录数据
# 当时遇到的问题:在不添加120*(p-1)时,发现只能爬取120个房间数据,再看了遍代码,发现数据是被覆盖了
workbook.close()
print('斗鱼房间数据已保存')
img_9eaffe96227c164921f952bb5914241d.png
主播、房间号、房间名、热度
  • 后续可以使用Excel的排序,制表等功能来处理数据,或者用BDP来处理!

有发现错误或看不懂的可以在评论区提出,一定会第一时间回复你!
如对你有帮助记得关注点赞哦!

目录
相关文章
|
1月前
|
JSON 算法 API
1688商品详情API实战:Python调用全流程与数据解析技巧
本文介绍了1688电商平台的商品详情API接口,助力电商从业者高效获取商品信息。接口可返回商品基础属性、价格体系、库存状态、图片描述及商家详情等多维度数据,支持全球化语言设置。通过Python示例代码展示了如何调用该接口,帮助用户快速上手,适用于选品分析、市场研究等场景。
|
3月前
|
运维 监控 算法
时间序列异常检测:MSET-SPRT组合方法的原理和Python代码实现
MSET-SPRT是一种结合多元状态估计技术(MSET)与序贯概率比检验(SPRT)的混合框架,专为高维度、强关联数据流的异常检测设计。MSET通过历史数据建模估计系统预期状态,SPRT基于统计推断判定偏差显著性,二者协同实现精准高效的异常识别。本文以Python为例,展示其在模拟数据中的应用,证明其在工业监控、设备健康管理及网络安全等领域的可靠性与有效性。
661 13
时间序列异常检测:MSET-SPRT组合方法的原理和Python代码实现
|
2月前
|
数据采集 NoSQL 关系型数据库
Python爬虫去重策略:增量爬取与历史数据比对
Python爬虫去重策略:增量爬取与历史数据比对
|
1月前
|
Web App开发 数据采集 JavaScript
动态网页爬取:Python如何获取JS加载的数据?
动态网页爬取:Python如何获取JS加载的数据?
332 58
|
3月前
|
XML JSON API
淘宝商品详情API的调用流程(python请求示例以及json数据示例返回参考)
JSON数据示例:需要提供一个结构化的示例,展示商品详情可能包含的字段,如商品标题、价格、库存、描述、图片链接、卖家信息等。考虑到稳定性,示例应基于淘宝开放平台的标准响应格式。
|
16天前
|
机器学习/深度学习 人工智能 PyTorch
200行python代码实现从Bigram模型到LLM
本文从零基础出发,逐步实现了一个类似GPT的Transformer模型。首先通过Bigram模型生成诗词,接着加入Positional Encoding实现位置信息编码,再引入Single Head Self-Attention机制计算token间的关系,并扩展到Multi-Head Self-Attention以增强表现力。随后添加FeedForward、Block结构、残差连接(Residual Connection)、投影(Projection)、层归一化(Layer Normalization)及Dropout等组件,最终调整超参数完成一个6层、6头、384维度的“0.0155B”模型
200行python代码实现从Bigram模型到LLM
|
16天前
|
机器学习/深度学习 算法 PyTorch
从零开始200行python代码实现LLM
本文从零开始用Python实现了一个极简但完整的大语言模型,帮助读者理解LLM的工作原理。首先通过传统方法构建了一个诗词生成器,利用字符间的概率关系递归生成文本。接着引入PyTorch框架,逐步重构代码,实现了一个真正的Bigram模型。文中详细解释了词汇表(tokenizer)、张量(Tensor)、反向传播、梯度下降等关键概念,并展示了如何用Embedding层和线性层搭建模型。最终实现了babyGPT_v1.py,一个能生成类似诗词的简单语言模型。下一篇文章将在此基础上实现自注意力机制和完整的GPT模型。
从零开始200行python代码实现LLM
|
24天前
|
人工智能 数据可视化 Python
在Python中对数据点进行标签化
本文介绍了如何在Python中使用Matplotlib和Seaborn对数据点进行标签化,提升数据可视化的信息量与可读性。通过散点图示例,展示了添加数据点标签的具体方法。标签化在标识数据点、分类数据可视化及趋势分析中具有重要作用。文章强调了根据需求选择合适工具,并保持图表清晰美观的重要性。
49 15
|
1月前
|
数据采集 运维 API
把Postman调试脚本秒变Python采集代码的三大技巧
本文介绍了如何借助 Postman 调试工具快速生成 Python 爬虫代码,并结合爬虫代理实现高效数据采集。文章通过“跨界混搭”结构,先讲解 Postman 的 API 调试功能,再映射到 Python 爬虫技术,重点分享三大技巧:利用 Postman 生成请求骨架、通过 Session 管理 Cookie 和 User-Agent,以及集成代理 IP 提升稳定性。以票务信息采集为例,展示完整实现流程,探讨其在抗封锁、团队协作等方面的价值,帮助开发者快速构建生产级爬虫代码。
把Postman调试脚本秒变Python采集代码的三大技巧
|
16天前
|
数据采集 Web App开发 JavaScript
Python爬虫解析动态网页:从渲染到数据提取
Python爬虫解析动态网页:从渲染到数据提取

热门文章

最新文章

推荐镜像

更多