add python3.7 to path是什么意思_词云图带大家分析“带全家来京确诊女子被美国公司解雇”大家都评论了什么?...

首先带着大家分析下词云:

词云图又叫文字云,是对文本数据中出现频率较高的关键词予以视觉上的突出,形成"关键词的渲染"就类似云一样的彩色图片,从而过滤掉大量的文本信息,,使人一眼就可以领略文本数据的主要表达意思。

看一些百度的词云图片就知道什么啦,今天我们就讲评论词汇生成词云图

9323765bcfc68afc127364c62181154a.png

首先我们爬取的链接是:

微博​m.weibo.cn

这个大家可以看出是m开头的链接,说明是手机端的,手机端的也说下

9d1015371cffe6b52e634903c55416e0.png

这个规律实在不方便分析?但是还有更简单的我们何必花很多时间研究这个哈哈(有点偷懒)

我们于是找到了这个链接:

微博​weibo.cn

这个链接大家发现不m开头的,是电脑端的,截图大家看一下

f199238c7fb740f0baaa7b088e299600.png

大家可以看到内容是一致的,但是页面效果可能low一些,但是不影响我们获取评论就行啦

07c49670a6d183603aa480473a4fa071.png

大家可以发现有页码的变化,因此分析出:

https://weibo.cn/comment/IzsurtGcv?uid=1644489953&rl=0&page=1

https://weibo.cn/comment/IzsurtGcv?uid=1644489953&rl=0&page=2

我们只要循环的获取就可以了。

import time
import requests
from bs4 import BeautifulSoup


headers ={

'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'accept-language':'zh-CN,zh;q=0.9',

'cache-control':'max-age=0',

'cookie':'ALF=1587263529; _T_WM=98012988932; SUB=_2A25zcBXjDeRhGeBI6lMS-SnNwjiIHXVQmrurrDV6PUJbkdANLWLVkW1NRryekjjW7K01YTgDTWaldRtUKap4aqOS; SUHB=09P9rXjh_9wMmP; SCF=AgOabTn6Fb5gHUI6gnRn-uXK4LjyzBuKwBvG7NVXp5smWGjQ-X0wM7rEFzDX9QI5nZ3OD0lQwDXAU3nlqvwVeMg.; SSOLoginState=1584686515; MLOGIN=1; M_WEIBOCN_PARAMS=oid%3D4484509997073735%26luicode%3D20000061%26lfid%3D4484509997073735',

'upgrade-insecure-requests':'1',

'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'

}


for i in range(1,50):

    url = 'https://weibo.cn/comment/IzsurtGcv?uid=1644489953&rl=0&page='+str(i)
    response = requests.get(url,headers=headers)

    html = response.text
    print(html)

    soup = BeautifulSoup(html,'html.parser')
    comment_list = soup.find_all(class_='ctt')

    with open('comments.txt','a') as writer: # 注意是append追加形式
        for comment in comment_list:  # 遍历评论
            # 获取评论信息
            com = comment.get_text()
            print(com)
            # 评论中有:"回复@断流年举樽祭:因为贵" 只要:后面的内容
            if ":" in com:
                com = com.split(":")[-1]
            # 写入文件,注意一个评论一行
            writer.write(com+'n')

    print('保存完第%d页'% i)
    time.sleep(3)

注意:使用了bs4获取评论内容。

下面我们生成词云图片,我们会用到jieba库和wordCloud

pip install jieba
pip install wordcloud

装完之后我们就可以使用啦!

from wordcloud import WordCloud
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba

font_path = '/Library/Fonts/Arial Unicode.ttf'  # 字体的路径如果是windows系统就写你的字体路径就可以
# 打开文本
text = open('comments.txt','r').read()  # 读取评论保存页面

# 中文分词  通过jieba分词
text = ' '.join(jieba.cut(text))

# 生成对象
mask = np.array(Image.open('res/china.jpg'))
wc = WordCloud(mask=mask, font_path=font_path,mode='RGBA',background_color=None).generate(text)

# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

# 保存词云
wc.to_file('wordcloud.png')

生成的图片如下:

77cadc2bf292b99407129edf4a7d78cf.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值