文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python得到弹幕并保存到Excel中怎么设置

2023-01-05 12:01

关注

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')

到此这篇关于Python得到弹幕并保存到Excel中怎么设置的文章就介绍到这了,更多相关Python弹幕保存到Excel中内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯