python爬取B站评论制作词云
江山代有才人出,B站评论占一半
废话不多说,咱们直接上代码`
import imageio
import jieba
import wordcloud
import requests
from fake_useragent import UserAgent
import time
headers = {“user-agent”: UserAgent().Chrome}
“”"
原url
https://api.bilibili.com/x/v2/reply/main?callback=jQuery331011504796745002377_1639099761604&jsonp=jsonp&next=0&type=1&oid=764679443&mode=3&plat=1&=1639099761605
“”"
#第一项’callback’我们在爬取的时候需要将这参数去除就能正常访问
strs = “”
#存储评论
for pn in range(2):
time.sleep(2)
# 延时2秒
url = "https://api.bilibili.com/x/v2/reply?jsonp&next={}&type=1&oid=764679443&mode=3&plat=1&=1639095387879".format(pn)
# 标签说明 oid:视频的id plat:排序方式 1 表示时间排序 2表示热度排序 next:页码
try: # 异常处理
data = requests.get(url, headers=headers).json()
# 请求数据 转为json格式
if data[“data”][“replies”]:
for i in data[“data”][“replies”]:
strs += i[“content”][“message”]
print(strs)
except:
print(url+“爬取异常!!!”)
with open(“alice.txt”, mode=‘w’, encoding=“UTF-8”) as f:
f.write(strs)
f.close()
print(“爬取完毕!!!”)
text = open(“alice.txt”, “r”, encoding=“UTF-8”).read()
#读取同一目录下 alice.txt 文件
ls = jieba.lcut(text)
#将text转为列表
txt = " ".join(ls)
#将词用空格隔开
im = imageio.imread(“1.png”)
#导入照片
wloud = wordcloud.WordCloud(font_path=“simkai.ttf”,
background_color=“white”,
width=600, height=400,
max_font_size=120,
max_words=1000,
mask=im)
#设置词云的属性
wloud.generate(txt)
#制作词云
wloud.to_file(“ciyun.png”)
#保存 并以ciyun.png命名存储
还有很多的不足,自己也是刚学习,有错误欢迎指正