日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

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

爬取步驟:

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

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

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

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

dmroll ,時間戳,彈幕號,表示獲取該日期的彈幕,1507564800 表示2017/10/10 0:0:0

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

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

 
 
 
 
  1. '(.*?)' 

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

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

7.參考代碼如下,將彈幕按照日期保存為單個文件...因為太多了...

 
 
 
 
  1. import requests
  2. import re
  3. import time 
  4. """    爬取嗶哩嗶哩視頻彈幕信息""" 
  5. # 2043618 是視頻的彈幕標(biāo)號,這個地址會返回時間列表
  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. # 生成時間戳列表
  15. time_list = [i['timestamp'] for i in html.json()]
  16. # print(time_list)
  17.  
  18. # 獲取彈幕網(wǎng)址格式 'https://comment.bilibili.com/dmroll,時間戳,彈幕號'
  19.  
  20. # 彈幕內(nèi)容,由于總彈幕量太大,將每個彈幕文件分別保存
  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.     # 將時間戳轉(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.最終效果


網(wǎng)頁題目:Python3爬取B站視頻彈幕
文章出自:http://www.5511xx.com/article/djpchhd.html