日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Python3爬取B站視頻彈幕

需要準(zhǔn)備的環(huán)境:

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)公司、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:成都三維植被網(wǎng)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致稱揚(yáng)!

  1. 一個(gè)B站賬號(hào),需要先登錄,否則不能查看歷史彈幕記錄
  2. 聯(lián)網(wǎng)的電腦和順手的瀏覽器,我用的Chrome
  3. Python3環(huán)境以及request模塊,安裝使用命令,換源比較快:
 
 
 
 
  1. pip3 install  request -i http://pypi.douban.com/simple

爬取步驟:

1.登錄后打開(kāi)需要爬取的視頻頁(yè)面,打開(kāi)開(kāi)發(fā)者工具臺(tái),Chrome可以使用F12快捷鍵,選擇network監(jiān)聽(tīng)請(qǐng)求

2.點(diǎn)擊查看歷史彈幕,獲取請(qǐng)求

其中rolldate后面的數(shù)字表示該視頻對(duì)應(yīng)的彈幕號(hào),返回的數(shù)據(jù)中timestamp表示彈幕日期,new表示數(shù)目

4.在查看歷史彈幕中任選一天,查看,會(huì)發(fā)出新的請(qǐng)求

dmroll ,時(shí)間戳,彈幕號(hào),表示獲取該日期的彈幕,1507564800 表示2017/10/10 0:0:0

該請(qǐng)求返回xml數(shù)據(jù)

5.使用正則表達(dá)式獲取所有彈幕消息,匹配模式

 
 
 
 
  1. '(.*?)' 

6.拼接字符串,將所有彈幕保存到本地文件即可

 
 
 
 
  1. with open('content.txt', mode='w+', encoding='utf8') as f:    f.write(content) 

7.參考代碼如下,將彈幕按照日期保存為單個(gè)文件...因?yàn)樘嗔?..

 
 
 
 
  1. import requests
  2. import re
  3. import time 
  4. """    爬取嗶哩嗶哩視頻彈幕信息""" 
  5. # 2043618 是視頻的彈幕標(biāo)號(hào),這個(gè)地址會(huì)返回時(shí)間列表
  6. # https://www.bilibili.com/video/av1349282
  7. url = 'https://comment.bilibili.com/rolldate,2043618'
  8. # 獲取彈幕的id 2043618
  9. video_id = url.split(',')[-1]print(video_id)
  10. # 獲取json文件
  11. html = requests.get(url)
  12. # print(html.json())
  13.  
  14. # 生成時(shí)間戳列表
  15. time_list = [i['timestamp'] for i in html.json()]
  16. # print(time_list)
  17.  
  18. # 獲取彈幕網(wǎng)址格式 'https://comment.bilibili.com/dmroll,時(shí)間戳,彈幕號(hào)'
  19.  
  20. # 彈幕內(nèi)容,由于總彈幕量太大,將每個(gè)彈幕文件分別保存
  21. for i in time_list:    content = ''    j = 'https://comment.bilibili.com/dmroll,{0},{1}'.format(i, video_id)    print(j)    text = requests.get(j).text
  22.     # 匹配彈幕內(nèi)容    res = re.findall('(.*?)', text)    
  23.     # 將時(shí)間戳轉(zhuǎn)化為日期形式,需要把字符串轉(zhuǎn)為整數(shù)    timeArray = time.localtime(int(i))    date_time = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)    print(date_time)    content += date_time + '
  24. '    for k in res:        content += k + '
  25. '    content += '
  26. '    file_path = 'txt/{}.txt'.format(time.strftime("%Y_%m_%d", timeArray))    print(file_path)    
  27.     with open(file_path, mode='w+', encoding='utf8') as f:        f.write(content) 

8.最終效果


名稱欄目:Python3爬取B站視頻彈幕
網(wǎng)頁(yè)URL:http://www.dlmjj.cn/article/djpchhd.html