python爬取豆瓣评论制作词云代码

 更新时间:2022年01月04日 10:17:01   作者:大学生编程地  
大家好,本篇文章主要讲的是python爬取豆瓣评论制作词云代码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

一、爬取豆瓣热评

该程序进行爬取豆瓣热评,将爬取的评论(json文件)保存到与该python文件同一级目录下
注意需要下载这几个库:requests、lxml、json、time

import requests
from lxml import etree
import json
import time
class Spider(object):
    def __init__(self):
        #seif.ure='https://movie.douban.com/subject/23885074/reviews?start=0'
        self.headers={
            'User-Agent':'Mozilla/5.0(Windows NT6.1;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/75.0.3700.100Safari/537.36'
        }
    def get_data(self,url):
        response = requests.get(url,headers=self.headers).content.decode('utf-8')
        page=etree.HTML(response)#xpath 对象
        #获取所有数据节点
        node_list = page.xpath('//div[@class="review-list  "]/div')
        for node in node_list:
            #作者
            author = node.xpath('.//header[@class="main-hd"]//a[2]/text()')[0]
            #评论
            text = node.xpath('string(.//div[@class="main-bd"]//div[@class="short-content"])')

            items={
                'author':author,
                'text':text.strip()
            }
            #持久化存储
            with open('yewen.json','a',encoding='utf-8') as f:
                f.write(json.dumps(items,ensure_ascii=False)+'\n')
    def run(self):
        for i in range(1,47):
            url='https://movie.douban.com/subject/26885074/reviews?start{}'.format(i*20)
            print('正在爬取第{}页'.format(i))
            self.get_data(url)
            time.sleep(3)
if __name__=='__main__':
    s=Spider()
    s.run()

二、制作词云

该程序将json中的数据进行处理,提取重要信息,并用wordcloud库制作词云图片,同样保存到与该python文件同一级目录下
注意需要下载这几个库:jieba、wordcloud、json

import jieba
from wordcloud import WordCloud
import json
f= open("yewen.json", "r", encoding="utf-8")
data_list= f.readlines()
str =''
for data in data_list:
    text= json.loads(data)['text']
    str +=text
#替换无关紧要的词语
result_str = str.replace('展开', '').replace('这篇','').replace('影评','').replace('电影','').replace('这部', '').replace('可能', '').replace('剧情','')
cut_text = jieba.lcut(result_str)
result = " ".join(cut_text)
wc = WordCloud(font_path='simhei.ttf',
               background_color="white",
               max_words=600,
               width=1000,
               height=1000,
               min_font_size=20,
               max_font_size=100,)
    #mast=plt.imreda('snake.jpg')#背景图片
wc.generate(result)#转化为词云的操作
wc.to_file("text.jpg")#保存
f.close()

在这里插入图片描述

总结

到此这篇关于python爬取豆瓣评论制作词云代码的文章就介绍到这了,更多相关python爬取豆瓣评论内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 教大家使用Python SqlAlchemy

    教大家使用Python SqlAlchemy

    如何使用Python SqlAlchemy,本文为大家详细介绍Python SqlAlchemy的使用方法,感兴趣的朋友可以参考一下
    2016-02-02
  • Python 调用 ES、Solr、Phoenix的示例代码

    Python 调用 ES、Solr、Phoenix的示例代码

    这篇文章主要介绍了Python 调用 ES、Solr、Phoenix的示例代码,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • 怎么使用pipenv管理你的python项目

    怎么使用pipenv管理你的python项目

    本篇文章主要介绍了怎么使用pipenv管理你的python项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 最强Python可视化绘图库Plotly详解用法

    最强Python可视化绘图库Plotly详解用法

    数据分析离不开数据可视化。Plotly 是一款用来做数据分析和可视化的在线平台,功能非常强大,可以在线绘制很多图形比如条形图、散点图、饼图、直方图等等
    2021-11-11
  • python实现手势识别的示例(入门)

    python实现手势识别的示例(入门)

    这篇文章主要介绍了python实现手势识别的示例(入门),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python cv2图像质量压缩的算法示例

    python cv2图像质量压缩的算法示例

    使用opencv对图像进行编码,一方面是图像二进制传输的需要,另一方面对图像压缩。本文主要介绍了python cv2图像质量压缩的算法示例,感兴趣的可以了解一下
    2021-06-06
  • Django 用户认证组件使用详解

    Django 用户认证组件使用详解

    这篇文章主要介绍了Django 用户认证组件使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python绘制中国大陆人口热力图

    python绘制中国大陆人口热力图

    这篇文章主要为大家详细介绍了Python绘制中国大陆人口热力图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python turtle.shape()用法及实战案例

    Python turtle.shape()用法及实战案例

    turtle是Python自带的一个小型的绘图库,它可以帮助我们快速地绘制简单的图形,这篇文章主要给大家介绍了关于Python turtle.shape()用法及实战案例的相关资料,需要的朋友可以参考下
    2024-03-03
  • Java Web开发过程中登陆模块的验证码的实现方式总结

    Java Web开发过程中登陆模块的验证码的实现方式总结

    Java的SSH三大Web开发框架中,对于验证码这一基本功能的处理都比较得心应手,接下来我们就来看看整理出的Java Web开发过程中登陆模块的验证码的实现方式总结:
    2016-05-05

最新评论