• 大小: 757KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Python
  • 标签: python  

资源简介

此资源为对B站的视频弹幕进行爬取,并对弹幕内容进行处理后,使用词云图的可视化技术进行可视化的完整案例,有什么问题欢迎提问。

资源截图

代码片段和文件信息

import requests
import json
import chardet
import re # 使用正则表达式解析数据

# 1.根据bvid请求得到cid
def get_cid(bvid):
    # bvid为bilibili播放视频时网址/video/后的值  --> https://www.bilibili.com/video/BV1ag4y1i7dP?
    url = ‘https://api.bilibili.com/x/player/pagelist?bvid=‘+bvid+‘&jsonp=jsonp‘
    res = requests.get(url).text # 获取数据
    json_dict = json.loads(res) # 将数据转为json
    #pprint(json_dict)
    return json_dict[“data“][0][“cid“] # 获取cid并返回

# 2.根据cid请求弹幕,解析弹幕得到最终的数据
“““
注意:哔哩哔哩的网页现在已经换了,那个list.so接口已经找不到,以下为新接口。
“““
def get_data(cid):
    final_url = “https://api.bilibili.com/x/v1/dm/list.so?oid=“ + str(cid)
    final_res = requests.get(final_url)
    final_res.encoding = chardet.detect(final_res.content)[‘encoding‘]
    final_res = final_res.text
    pattern = re.compile(‘(.*?)‘)
    data = pattern.findall(final_res)
    return data

# 3.保存弹幕列表 --> 保存到txt文本文件中
def save_to_file(data):
    with open(“../result/dan_mu.txt“ mode=“w“ encoding=“utf-8“) as f:
        for i in data:
            f.write(i)
            f.write(“\n“)

# 4.开始爬取数据并返回执行状态
def begin(bvid):
    try:
        cid = get_cid(bvid)
        data = get_data(cid)
        save_to_file(data)
        return True
    except:
        return False

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-06-18 22:01  bilibili_barrage\
     目录           0  2020-09-02 15:43  bilibili_barrage\.idea\
     文件         408  2020-06-18 21:57  bilibili_barrage\.idea\bilibili_barrage.iml
     文件         294  2020-06-15 11:08  bilibili_barrage\.idea\misc.xml
     文件         291  2020-06-18 21:57  bilibili_barrage\.idea\modules.xml
     文件       20592  2020-09-02 15:43  bilibili_barrage\.idea\workspace.xml
     目录           0  2020-09-02 15:42  bilibili_barrage\demo\
     目录           0  2020-09-02 15:43  bilibili_barrage\demo\__pycache__\
     文件        1287  2020-08-10 11:09  bilibili_barrage\demo\__pycache__\get_barrage.cpython-38.pyc
     文件        1674  2020-09-02 15:43  bilibili_barrage\demo\__pycache__\view_barrage.cpython-38.pyc
     文件        1502  2020-08-10 09:16  bilibili_barrage\demo\get_barrage.py
     文件         353  2020-07-24 12:37  bilibili_barrage\demo\run.py
     文件        2138  2020-09-02 15:42  bilibili_barrage\demo\view_barrage.py
     目录           0  2020-09-02 15:42  bilibili_barrage\image\
     文件       27874  2020-06-16 21:09  bilibili_barrage\image\Ace.jpg
     文件      271506  2020-06-16 21:12  bilibili_barrage\image\Ace1.jpg
     文件       17771  2020-06-16 21:14  bilibili_barrage\image\Back.jpg
     文件      137284  2020-06-16 17:53  bilibili_barrage\image\Luffy.jpg
     目录           0  2020-09-02 15:18  bilibili_barrage\util\
     文件       21979  2020-06-16 21:16  bilibili_barrage\image\chun.jpg
     文件       29524  2020-07-31 17:29  bilibili_barrage\image\girl.jpg
     文件        1434  2020-09-02 15:43  bilibili_barrage\result\dan_mu.txt
     文件       17932  2020-07-31 17:34  bilibili_barrage\image\狮子.jpg
     文件       48961  2020-06-16 21:28  bilibili_barrage\image\老虎.jpg
     目录           0  2020-07-24 10:18  bilibili_barrage\result\
     文件      140689  2020-09-02 15:43  bilibili_barrage\result\ciyun.png
     文件           6  2020-09-02 15:18  bilibili_barrage\util\stoplist.txt
     文件       48961  2020-06-16 21:28  bilibili_barrage\image\Tiger.jpg
     文件       17932  2020-07-31 17:34  bilibili_barrage\image\lion.jpg

评论

共有 条评论