【Python】爬取弹幕并保存到Excel中 |
您所在的位置:网站首页 › python虎牙弹幕抓取 › 【Python】爬取弹幕并保存到Excel中 |
hello,我是李华同学,最近开始学习爬虫,下面是我实现的一个得到弹幕的代码
😏
找一个URL👉
想要得到一个网站的内容,首先要找到你想要内容的具体位置,首先你先找到一个有弹幕的地方,找到后按F12,找到在网络下,然后刷新页面,在左边搜索栏搜history可以找到储存弹幕的地址(图1),弹幕地址具体情况具体分析。 在标头下的“请求URL”,后面那一串链接就是要爬取的位置。(图2) ![]() 图1 ![]() 图2 实现代码过程👉 🔰将Python代码和Excel文件放在一个文件下![]() 图3 🔰用request库进行操作不会下载库的同学可以在pycharm终端下用pip下载,也可以在设置setting的project下下载,具体步骤不会可以搜大佬的文章。 用requests对网站进行访问,这里用到了get请求方法,请求方法可以在之前找URL下看到。(图2) #B站某直播间地址 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友说的话'])保存内容,这个是借鉴一个大佬的博客:【(1条消息) 利用python爬取信息并保存到excel_wer875442的博客-CSDN博客_如何将爬取的数据存入excel】,具体的解释可以看这位大佬的,还有实例。 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')陌生人感谢您的观看,如果帮助您解决了问题,请给我点一个赞,让我有更充足的动力学习。 ![]() 谢谢观看,记得点赞 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |