Python得到弹幕并保存到Excel中怎么设置
作者:-李华同学- 发布时间:2021-04-04 16:42:22
标签:Python,弹幕,保存,Excel
hello,我是李华同学,最近开始学习爬虫,下面是我实现的一个得到弹幕的代码
找一个的URL
想要得到一个网站的内容,首先要找到你想要内容的具体位置,首先你先找到一个有弹幕的地方,找到后按F12,找到在网络下,然后刷新页面,在左边搜索栏搜history可以找到储存弹幕的地址(图1),弹幕地址具体情况具体分析。
在标头下的“请求URL”,后面那一串链接就是要爬取的位置。(图2)
图1
图2
实现代码过程
将Python代码和Excel文件放在一个文件下
图3
用request库进行操作
不会下载库的同学可以在pycharm终端下用pip下载,也可以在设置setting的project下下载,具体步骤不会可以搜大佬的文章。
用requests对网站进行访问,这里用到了get请求方法,请求方法可以在之前找URL下看到。(图2)
requests.get('https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory?roomid=5050')
对访问的内容进行选择
我这里就选择了姓名和弹幕
for ac in d['data']['room']:
s = "{}说:{}".format(ac['nickname'], ac['text'])
防止得到的内容重复
用列表储存爬取的数据,用if条件判断新爬取的内容是否在列表ls中,如果不在就用append追加到列表中。
ls = []
if s not in ls:
ls.append(ls)
把得到的数据保存到Excel中
在这个过程中用到了openpyxl库。
首先在Excel中先写下表头(图4),为接下来插入得到的内容找位置,然后保存(记得爬取的时候不要打开Excel文件)。
# 打开文件
wb = openpyxl.Workbook()
# 使用的工作对象创建一张表
sheet = wb.active
# 在sheet1表中写入内容 插入内容
sheet.append(['B友姓名', 'B友说的话'])
保存内容,这个是借鉴一篇文章Python提取PDF发票信息保存Excel文件并制作EXE程序的全过程,具体的解释可以看这位大佬的,还有实例。
print('B友姓名' + nickname, 'B友说的话' + text)
print('开始写入excel,请稍等...', end='')
xx_info = [nickname, text]
sheet.append(xx_info)
print('写入成功\n')
# 关闭保存工作簿
wb.save('data.xls')
图4
全部代码(代码的直接取)
import random
import requests
import time
import openpyxl
# 打开文件
wb = openpyxl.Workbook()
# 使用的工作对象创建一张表
sheet = wb.active
# 在sheet1表中写入内容 插入内容
sheet.append(['B友姓名', 'B友说的话']) #这是在excel第一行插入,可以相当于一个文件的表头
# 用列表储存爬取内容,防止出现相似值
ls = []
# 循环实时弹幕
while True:
# 爬取的直播间
r = requests.get('')#这里括号里放找到的URL
# 每次爬取的间隔,防止让服务器崩溃
time.sleep(random.randint(1, 3))
# 将输出的字符串内容转换成字典形式
d = eval(r.text)
# 在这两字典中爬取
for ac in d['data']['room']:
s = "{}说:{}".format(ac['nickname'], ac['text'])
nickname = ac['nickname']
text = ac['text']
# 判断输出内容是否重复
if s not in ls:
ls.append(ls)
# 确定没有重复值了输出
# 颜色
sheet.sheet_properties.tabColor = '000000'
print('B友姓名' + nickname, 'B友说的话' + text)
print('开始写入excel,请稍等...', end='')
xx_info = [nickname, text]
sheet.append(xx_info)
print('写入成功\n')
# 关闭保存工作簿
wb.save('data.xls')
来源:https://blog.csdn.net/weixin_70445937/article/details/128540367
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- Python:获取“ 3年前的今天”的日期时间Python: get datetime for
- 一般开发,SQL Server的数据库所有者为dbo.但是为了安全,有时候可能把它换成其它的名称,所有者变换不是很方便.这里列出两种供参考
- 前言滑块拼图验证码的失败难度在于每次图片上缺口位置不一样,需识别图片上拼图的缺口位置,使用python的OpenCV库来识别到环境准备pip
- 在开发和调试基于XML的应用的时候,程序员往往为找不到合适的快速桌面XPATH测试软件发愁。诚然,市面上有成套的XML编辑软件,但是它们往往
- 网上有这样一道题目:一个字符串String=“adadfdfseffserfefsefseetsdg”,找出里面出现次数最多的字母和出现的次
- 代码:import sysfrom PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel
- 关于投票系统怎么样怎么样的引言就不多说,这不是毕业设计,主要说一下使用php实现投票系统,与其他普通系统一样,分为两部分,一个是管理员部分,
- 原来的语句是这样的: select sum(sl0000) from xstfxps2 where dhao00 in ( select d
- 本文实例讲述了Python实现输出某区间范围内全部素数的方法。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-
- 在IE6中背景属性加 a 与 a:hover 两者的伪类结合,在正常逻辑下为何不起作用?测试这问题存在IE6及以下浏览器,这问题我经常遇到在
- 前言:中文编码问题一直是程序员头疼的问题,而Python2中的字符编码足矣令新手抓狂。本文将尽量用通俗的语言带大家彻底的了解字符编码以及Py
- 很多文章都有提到关于使用phpExcel实现Excel数据的导入导出,大部分文章都差不多,或者就是转载的,都会出现一些问题,下面是本人研究p
- 通常的情况是,我们一般会载入一个模板文件,然后用 Context渲染它,最后返回这个处理好的HttpResponse对象给用户。 我们已经优
- 项目介绍最近学习django,通过文件上传下载这个小项目,总结下常用的知识点。做这个案例我有以下需求:1.要支持一次上传多个文件2.支持上传
- 有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的。那么我们使用Python如何调用Linux的
- 本文实例讲述了Python + Requests + Unittest接口自动化测试。分享给大家供大家参考,具体如下:1. 介绍下pytho
- 本文实例讲述了JS实现仿Windows经典风格的选项卡Tab切换代码。分享给大家供大家参考,具体如下:这款仿Windows风格的选项卡,带有
- 今天在日常维护一个网站时,发现该网站的留言程序没有经过严格的验证过滤,导致了将近十万条垃圾数据。而其中又不乏重要信息,需要清理数据,以及增加
- Flask-Admin是Flask框架的一个扩展,用它能够快速创建Web管理界面,它实现了比如用户、文件的增删改查等常用的管理功能;如果对它
- 原始两张图片:代码运行结果如下。5种算法值哈希算法、差值哈希算法和感知哈希算法都是值越小,相似度越高,取值为0-64,即汉明距离中,64位的