python爬取乘风破浪的姐姐弹幕--芒果TV爬虫

不知道大家有木有收看兴风作浪 乘风破浪的姐姐们吖?你最喜欢哪个姐姐呢?看看哪个姐姐最受弹幕欢迎吧
今天(昨天),先把芒果TV的《乘风破浪的姐姐》弹幕爬下来再说

from bs4 import BeautifulSoup
import requests
import os
import json
import pandas as pd
from wordcloud import WordCloud, ImageColorGenerator
import imageio
import seaborn as sns
import matplotlib.pyplot as plt
import jieba
import collections # 词频统计库

找到json地址
分析可知,弹幕的json都存在这些地方,分别复制“0.json”,“1.json”,“2.json”的URL康康
‘https://bullet-ws.hitv.com/bullet/2020/06/23/095353/8337559/0.json’
‘https://bullet-ws.hitv.com/bullet/2020/06/23/095353/8337559/1.json’
‘https://bullet-ws.hitv.com/bullet/2020/06/23/095353/8337559/2.json’
发现前面的都一样,只有最后的x.json是按照节目的时间来定的,第1分钟就是0.json,以此类推。
另外其他期的URL,前面的也是一样的,只有最后的两串数字每期有一些差别
以此为依据就可以写代码啦。

#提取某一期的弹幕
def get_danmu(num1,num2,page):
    url='https://bullet-ws.hitv.com/bullet/2020/06/23/{}/{}/{}.json'
    danmuurl = url.format(num1,num2,page)
    res=requests.get(danmuurl)
    res.encoding = 'utf-8'
    jd=json.loads(res.text)
    details=[]
    for i in range(len(jd['data']['items'])):
        result={}
        result['stype']=num2
        result['id']=jd['data']['items'][i]['id']
        try:
            result['uname']=jd['data']['items'][i]['uname']
        except:
            result['uname']=''
        result['content']=jd['data']['items'][i]['content']
        result['time']=jd['data']['items'][i]['time']
        try:
            result['v2_up_count']=jd['data']['items'][i]['v2_up_count']
        except:
            result['v2_up_count']=''
        details.append(result)
    
    
    return details
#输入关键信息
def count_danmu():
    danmu_total=[]
    num1=input('第一个数字')
    num2=input('第二个数字')
    page=int(input('输入总时长'))
    for i in range(page):
        danmu_total.extend(get_danmu(num1,num2,i))
        
    return danmu_total
def main():
    danmu_end=[]
    #爬前四集,所以设置了循环4次
    for j in range(4):
        danmu_end.extend(count_danmu())
    df=pd.DataFrame(danmu_end)
    df.to_excel('danmu.xlsx')

    
if __name__ == '__main__':
    main()

分别输入每期的参数,就可以得到相应的弹幕啦,我爬的时候是6.23,大家可以参考一下

6.23前四集的参数
095353,8337559,101
135229,8339494,134
135223,8398205,100
121038,8437644,35
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值