温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何实现爬取某站视频弹幕并绘制词云图

发布时间:2021-12-17 14:12:53 来源:亿速云 阅读:156 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“Python如何实现爬取某站视频弹幕并绘制词云图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python如何实现爬取某站视频弹幕并绘制词云图”这篇文章吧。

前言

[课 题]:

Python爬取某站视频弹幕或者腾讯视频弹幕,绘制词云图

[知识点]:

1. 爬虫基本流程

2. 正则

3. requests >>> pip install requests

4. jieba >>> pip install jieba

5. imageio >>> pip install imageio

6. wordcloud  >>> pip install wordcloud

[开发环境]:

Python 3.8

Pycharm

win + R 输入cmd 输入安装命令 pip install 模块名 如果出现爆红 可能是因为 网络连接超时 切换国内镜像源

相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以找我

爬取弹幕

爬虫基本思路流程

一. 数据来源分析

1. 确定我们想要数据是什么?

爬取某站弹幕数据 保存文本txt

2. 通过开发者工具进行抓包分析...

通过 接口可以直接找到视频的弹幕数据地址

二. 爬虫代码实现步骤

1. 发送请求,  对于(评论看) 发送请求

需要注意点:

  • - 请求方式确定

  • - 请求头参数

2. 获取数据, 获取服务器返回的数据

3. 解析数据, 提取我们想要数据内容, 弹幕数据

4. 保存数据, 把获取下来的数据内容保存txt文本

模拟浏览器对于服务器发送请求

导入模块

import requests  # 数据请求模块 第三方模块 pip install requests
import re  # 正则表达式模块 内置模块 不需要安装

代码

# # 1. 发送请求
# url = '(评论看)'
# # headers 请求头 作用把Python代码进行伪装, 模拟成浏览器去发送请求
# # user-agent 浏览器基本身份标识
# # headers 请求头 字典数据类型
# headers = {
#     'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36'
# }
# # 通过requests模块里面get请求方法, 对于url地址发送请求, 并且携带上headers请求头, 最后用response变量去接收返回数据
# response = requests.get(url=url, headers=headers)
# response.encoding = response.apparent_encoding
# # <Response [200]> response对象 200状态码 表示请求成功
# # 如果你想要获取 网页源代码一样的数据内容的话, 是获取响应体的文本数据
# # 如果服务器返回的数据, 不是完整json数据 字典数据 直接获取response.json()就会报错
# # 2. 获取数据 response.text 返回数据 html字符串数据
# # print(response.text)
# # 3. 解析数据, 解析方式  re[可以直接对于字符串数据进行提取] css xpath [主要根据标签属性/节点提取数据]
# # () 精确匹配 表示想要的数据 泛匹配 .*? 正则表达式元字符 可以匹配任意字符(除了换行符\n以外)
# data_list = re.findall('<d p=".*?">(.*?)</d>', response.text)
# for index in data_list:
#     # mode 保存方式 encoding 编码
#     # pprint.pprint() 格式化输入 json字典数据
#     with open('弹幕.txt', mode='a', encoding='utf-8') as f:
#         f.write(index)
#         f.write('\n')
#         print(index)
url = 'https://mapi.vip.com/vips-mobile/rest/shopping/pc/search/product/rank?callback=getMerchandiseIds&app_name=shop_pc&app_version=4.0&warehouse=VIP_NH&fdc_area_id=104104101&client=pc&mobile_platform=1&province_id=104104&api_key=70f71280d5d547b2a7bb370a529aeea1&user_id=&mars_cid=1634797375792_17a23bdc351b36f2915c2f7ec16dc88e&wap_consumer=a&standby_id=nature&keyword=%E5%8F%A3%E7%BA%A2&lv3CatIds=&lv2CatIds=&lv1CatIds=&brandStoreSns=&props=&priceMin=&priceMax=&vipService=&sort=0&pageOffset=0&channelId=1&gPlatform=PC&batchSize=120&_=1639640088314'

headers = {
    'referer': 'https://category.vip.com/',
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response.text)

Python如何实现爬取某站视频弹幕并绘制词云图

制作词云图

[知识点]:

1. 爬虫基本流程

2. 正则

3. requests >>> pip install requests

4. jieba >>> pip install jieba

5. imageio >>> pip install imageio

6. wordcloud  >>> pip install wordcloud

[开发环境]:

Python 3.8

Pycharm

导入模块

import jieba  # 结巴分词 pip install jieba
import wordcloud  # 词云图 pip install wordcloud
import imageio  # 读取本地图片 修改词云图形
img = imageio.imread('苹果.png')

读取弹幕数据

f = open('弹幕.txt', encoding='utf-8')
text = f.read()
# print(text)

分词, 把一句话 分割成很多词汇

text_list = jieba.lcut(text)
print(text_list)
# 列表转成字符串
text_str = ' '.join(text_list)
print(text_str)

词云图配置

wc = wordcloud.WordCloud(
    width=500,  # 宽度
    height=500,  # 高度
    background_color='white', # 背景颜色
    mask=img,
    stopwords={'每', '一个', '了', '的', '梦想', '助力'},
    font_path='msyh.ttc'  # 字体文件
)

wc.generate(text_str)
wc.to_file('词云1.png')

Python如何实现爬取某站视频弹幕并绘制词云图Python如何实现爬取某站视频弹幕并绘制词云图

以上是“Python如何实现爬取某站视频弹幕并绘制词云图”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI