日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

使用Python获取春节档电影影评,制作可视化词云图

發布時間:2024/1/18 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Python获取春节档电影影评,制作可视化词云图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python獲取春節檔電影影評,制作可視化詞云圖

  • 前言
  • 準備工作
  • 采集數據部分
      • 基本思路流程
      • 代碼實戰
  • 可視化詞云圖
      • 代碼展示
      • 效果展示

前言

春節電影聽巳月說都還可以,我不信,我覺得還是要看看看過的觀眾怎么說,于是我點開了流浪地球2 …

看起來好像不錯的樣子,8.2的評分,三十多億的票房

就是這評價也太多了,那我們今天就把網友對它的評論獲取下來,做成可視化詞云圖看看大家討論最多的是什么。

準備工作

使用的環境

Python 3.8 解釋器 Pycharm 編輯器

需要手動安裝的模塊

parsel 數據解析模塊 requests 數據請求模塊

在cmd直接pip安裝即可

不會安裝的小伙伴看這篇:

如何安裝python模塊, python模塊安裝失敗的原因以及解決辦法

采集數據部分

基本思路流程

一、數據來源分析

1、明確需求()

  • 采集的網站是什么?
  • 采集的數據是什么?

2、抓包分析相關數據來源

通過瀏覽器自帶開發者工具進行抓包分析

  • 打開開發者工具: F12 或者 鼠標右鍵點擊檢查選擇network
  • 刷新網頁: 讓本網頁的數據內容重新加載一遍
  • 關鍵字搜索: 通過關鍵字<要的數據>, 搜索查詢相對應的數據包

二. 代碼實現步驟

基本四大步驟

  • 發送請求:模擬瀏覽器對于url地址發送請求

  • 獲取數據:獲取服務器返回響應數據
    開發者工具 --> response

  • 解析數據:提取我們想要的數據內容
    評論相關數據

  • 保存數據:把數據內容保存表格文件里面

  • 代碼實戰

    發送請求,模擬瀏覽器對于url地址發送請求

    for page in range(0, 200, 20):# 請求鏈接url = f'https://movie.douban.com/subject/35267208/comments?start={page}&limit=20&status=P&sort=new_score'# 偽裝模擬headers = {# User-Agent 用戶代理, 表示瀏覽器基本身份標識'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'}# 發送請求response = requests.get(url=url, headers=headers)print(response)

    獲取數據, 獲取服務器返回響應數據。

    print(response.text)

    解析數據,提取我們想要的數據內容。

    把獲取下來html字符串數據 <response.text>, 轉成可解析對象

    selector = parsel.Selector(response.text) # 第一次提取, 所有div標簽 divs = selector.css('div.comment-item') # for循環遍歷, 把列表里面元素一個一個提取出來 for div in divs:name = div.css('.comment-info a::text').get() # 昵稱rating = div.css('.rating::attr(title)').get() # 推薦date = div.css('.comment-time::attr(title)').get() # 時間area = div.css('.comment-location::text').get() # 地區votes = div.css('.votes::text').get() # 有用short = div.css('.short::text').get().replace('\n', '') # 評論# 數據存字典里面dit = {'昵稱': name,'推薦': rating,'時間': date,'地區': area,'有用': votes,'評論': short,}

    寫入數據

    csv_writer.writerow(dit) print(name, rating, date, area, votes, short)

    創建文件對象

    f = open('data10.csv', mode='a', encoding='utf-8-sig', newline='') csv_writer = csv.DictWriter(f, fieldnames=['昵稱','推薦','時間','地區','有用','評論', ])

    寫入表頭

    csv_writer.writeheader()

    代碼僅做參考,完整代碼、詳細視頻講解在文末名片自取即可

    可視化詞云圖

    代碼展示

    import pandas as pd import jieba import wordclouddf = pd.read_csv('data10.csv') df.head()info_list = df['評論'].to_list() string = ' '.join(jieba.lcut(''.join(info_list))) stringwc = wordcloud.WordCloud(width=1000,height=700,background_color='white',font_path='msyh.ttc',scale=15, ) wc.generate(string) wc.to_file('1.png')evaluate_num = df['推薦'].value_counts().to_list() evaluate_type = df['推薦'].value_counts().index.to_list() import pyecharts.options as opts from pyecharts.charts import Piedata_pair = [list(z) for z in zip(evaluate_type, evaluate_num)] data_pair.sort(key=lambda x: x[1])c = (Pie(init_opts=opts.InitOpts(bg_color="#2c343c")).add(series_name="豆瓣影評",data_pair=data_pair,rosetype="radius",radius="55%",center=["50%", "50%"],label_opts=opts.LabelOpts(is_show=False, position="center"),).set_global_opts(title_opts=opts.TitleOpts(title="推薦分布",pos_left="center",pos_top="20",title_textstyle_opts=opts.TextStyleOpts(color="#fff"),),legend_opts=opts.LegendOpts(is_show=False),).set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c} (ozvdkddzhkzd%)"),label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 0.3)"),) ) c.render_notebook()

    效果展示


    好了今天的分享就到這,大家快去試試吧,下次見!

    總結

    以上是生活随笔為你收集整理的使用Python获取春节档电影影评,制作可视化词云图的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。