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() # 使用的工作對象創(chuàng)建一張表 sheet = wb.active # 在sheet1表中寫入內容 插入內容 sheet.append(['B友姓名', 'B友說的話'])
保存內容,這個是借鑒一篇文章Python提取PDF發(fā)票信息保存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
全部代碼(代碼的直接?。?/h2>
import random
import requests
import time
import openpyxl
# 打開文件
wb = openpyxl.Workbook()
# 使用的工作對象創(chuàng)建一張表
sheet = wb.active
# 在sheet1表中寫入內容 插入內容
sheet.append(['B友姓名', 'B友說的話']) #這是在excel第一行插入,可以相當于一個文件的表頭
# 用列表儲存爬取內容,防止出現相似值
ls = []
# 循環(huán)實時彈幕
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')
import random
import requests
import time
import openpyxl
# 打開文件
wb = openpyxl.Workbook()
# 使用的工作對象創(chuàng)建一張表
sheet = wb.active
# 在sheet1表中寫入內容 插入內容
sheet.append(['B友姓名', 'B友說的話']) #這是在excel第一行插入,可以相當于一個文件的表頭
# 用列表儲存爬取內容,防止出現相似值
ls = []
# 循環(huán)實時彈幕
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中內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Linux下將Python的Django項目部署到Apache服務器
這篇文章主要介紹了Python的Django項目部署到Apache服務器上的要點總結,文中針對的是wsgi連接方式,需要的朋友可以參考下2015-12-12
Python2.7:使用Pyhook模塊監(jiān)聽鼠標鍵盤事件-獲取坐標實例
這篇文章主要介紹了Python2.7:使用Pyhook模塊監(jiān)聽鼠標鍵盤事件-獲取坐標實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

