词云

作者: dingtom | 来源:发表于2020-02-19 15:28 被阅读0次
import requests
import pandas as pd
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 爬取数据
for i in range(0, 200, 20):
    # 通过浏览器“检查”分析,得到URL数据接口。在不断往下刷新页面的过程中,发现URL中只有“start”参数不断产生变化,依次为0,20,40,60,80
    url = 'https://m.douban.com/rexxar/api/v2/gallery/topic/125573/items?' \
          'sort=new&start={}&count=20&status_full_text=1&guest_only=0&ck=null'.format(i)
    print(url)
    # 破解防爬虫,带上请求头
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36                              (KHTML, like Gecko) Chrome/76.0".3809.100 Safari/537.36',
               'Referer': 'https://www.douban.com/gallery/topic/125573/?from=gallery_trend                            &sort=hot'}
    # 发送请求,获取响应
    reponse = requests.get(url, headers=headers)
    html = reponse.json()
    # 解析数据,获得短评
    # 保存到本地
    for j in range(19):
        abst = html['items'][j]['abstract']
        with open("want_after.txt", "a", encoding='utf-8') as f:
            f.write(abst)
            print(abst)

# 获得wordcloud 需要的文本格式
with open("want_after.txt", "r", encoding='utf-8') as f:
    words = ' '.join(jieba.cut(f.read(), cut_all=False))
backgroud_Image = plt.imread(r'C:\Users\tomding\Videos\图片1.png')  # 背景图
# 词云的一些参数设置
wcloud = WordCloud(
      background_color='white',
      mask=backgroud_Image,
      font_path=r'c:\\windows\\Fonts\\simhei.ttf',
      max_words=200,
      max_font_size=200,
      min_font_size=8,
      random_state=50)

# 生成词云
word_cloud = wcloud.generate_from_text(words)
plt.imshow(word_cloud)
plt.axis('off')
wcloud.to_file('结果.jpg')

# 看看词频高的有哪些
process_word = WordCloud.process_text(wcloud, words)
words_sorted = sorted(process_word.items(), key=lambda i: i[1], reverse=True)
sort_after = words_sorted[:50]
print(sort_after)

# 把数据存成csv文件
df = pd.DataFrame(sort_after)
# 保证不乱码
df.to_csv('sort_after.csv', encoding='utf_8_sig')

相关文章

  • 词云

    以前总看到豆瓣知乎上各种晒词云的图片,乍一看高大上,于是今天潜心研究了一下python词云的几个库:wordclo...

  • 词云

    先发感叹:Python真强大,用来做业务,太轻松了。作为一个没怎么接触过Python的小白,我只用了十多行代码,就...

  • 词云

    勤问,不要感觉自己有多厉害,三人行也必有我师,勤学多问是进步的良方

  • 词云

    方文山和林夕都是作词大家,我仅以《青花瓷》和《红豆》两首歌作为例子,来比较一下两者文风的不同。 中文版 英文版

  • 词云

    一、林夕作词的《不要爱他》与方文山作词的《菊花台》词频对比 二、BBC与CNN报道ISIS在摩苏尔战斗的报道

  • 词云

    中文词云 比较搜狐财经和网易财经在“美国总统大选电视辩论”后第二天的相关评论。 英文词云 泰戈尔和狄兰·托马斯诗作...

  • 词云

    一. 中文歌词对比 SHE的《安静了》和周杰伦的《借口》两首歌都是由周杰伦作曲,曲调相同但填词者不同。 1.SHE...

  • 词云

  • 词云

    文章链接[https://www.yuque.com/mchax/rs/etm065] 加载拓展包 Rwordse...

  • Python jieba分词、词云、文件读取、函数调用、匿名函数

    词云的生成 使用wordcloud 库生成词云 安装wordcloud 调用wordcloud类,生成词云对象 词...

网友评论

      本文标题:词云

      本文链接:https://www.haomeiwen.com/subject/veuafhtx.html