数据可视化第十天(爬虫爬取某瓣星际穿越电影评论,并且用词云图找出关键词)

开头提醒

本次爬取的是用户评论,只供学习使用,不会进行数据的传播。希望大家合法利用爬虫。

获得数据

python 复制代码
#总程序
import requests
from fake_useragent import UserAgent
import time

fu=UserAgent()

headers={
    'User-Agent':fu.random
}

page_list=range(0,10)
#爬取10页的数据;需要的时间会很久
for page in page_list:
	#这些参数最后是拼接到?后面构成URL的参数
    params={
    'start':20*page,
    'sort':'time'
    }
    url="https://movie.douban.com/subject/1889243/reviews"
    req=requests.get(url,params=params,headers=headers)
    time.sleep(3)
    html=etree.HTML(req.text)#将获得的数据变成HTML格式
    id_list=html.xpath('//div[@class="main review-item"]/@id')#xpath比较容易提取需要的数据,学习也简单
    comment_results=[]
    #评论是折叠的,通过点击超链接,我们会在一个新的连接
    #发现这个评论,读取这个里面的全部评论
    #观察一下url我们就知道如何去读取这个数据了
    for id in id_list:
        url='https://movie.douban.com/review/'+id+'/'
        id_req=requests.get(url,headers=headers)
        id_html=etree.HTML(id_req.text)
        id_comment_list=id_html.xpath('//div[@class="review-content clearfix"]/p/text()')
        comment_results.append(id_comment_list)
        time.sleep(3)
        
    for comment in comment_results:
        with open('/Users/oommnn/Desktop/学习笔记/爬虫项目/星际穿越电影评论.txt','a+',encoding='utf-8') as f:
            #print(str(comment))
            #获得的是list;转为str类型
            #但是有的评论有多个p,不能单纯的只取第一项
                for com in comment:
                    f.write(com)
            
    if req.status_code == 200:
        print(f"爬取第{page}页成功")

            
print("爬取结束")

可视化处理

注:一般形容词可以让我们了解人们对这部电影的评价

python 复制代码
#可视化处理
import jieba.analyse
import wordcloud

with open('你的文件地址','r',encoding='utf-8') as f:
    data=f.read()
    
#a代表形容词
key_list=jieba.analyse.extract_tags(data,topK=100,allowPOS='a')
keys=' '.join(key_list)#合并到适合wordcloud处理的字符串
#collocations:是否找一些常见的词汇组合;这里不需要组合
#比如:我 草 这是一种常见的组合,但是这里不需要
wc=wordcloud.WordCloud(font_path='/System/Library/Fonts/Hiragino Sans GB.ttc',
                      width=800,height=600,collocations=False,max_words=50,background_color='black').generate(keys)
image=wc.to_image()
image.show()
相关推荐
广州山泉婚姻38 分钟前
智慧零工平台后端开发进阶:Spring Boot 3结合MyBatis-Flex的技术实践与优化【无标题】
人工智能·爬虫·spring
Tony11541 小时前
win11系统部署tomcat10教程
windows·tomcat
zsffuture2 小时前
LangGraph--带记忆和工具的聊天机器人
windows·python·机器人
Wukong.Sun4 小时前
操作系统的概念,功能和目标
java·linux·开发语言·windows
大猫95276 小时前
抖音(Dy)关键词搜索爬虫实现方案
爬虫
明京7 小时前
常见文件系统格式有哪些
windows
TeleostNaCl7 小时前
一种使用 PowerToys 的键盘管理器工具重新映射按键实现在 Windows 上快捷输入字符的方式
windows·经验分享
春马与夏7 小时前
Windows桌面图标修复
windows
怀旧,17 小时前
【数据结构】5. 双向链表
数据结构·windows·链表
拄杖忙学轻声码17 小时前
windows电脑解决笔记本搜索不到wifi问题
windows·电脑