IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 《长津湖》评价分析:Python爬虫的应用 -> 正文阅读

[Python知识库]《长津湖》评价分析:Python爬虫的应用

《长津湖》是国庆期间出的一部战争片,相信很多人都去看了。当然它对观众不太友好,主要因为它有三个小时的超长时间,以及真正步入长津湖战役的内容太少。

这次我用爬虫从豆瓣上获取了评价数据:

?

?数据源:豆瓣

数据抓取:requests

数据清洗:lxml(Xpath)

数据可视化:matplotlib

代码如下:

#!/usr/bin/python3
import os
import sys
import subprocess as s

try:
    import requests
except:
    s.run("python -m pip install requests")

try:
    from lxml import etree
except:
    s.run("python -m pip install lxml")
    
try:
    import matplotlib
    import matplotlib.pyplot as plt
    from matplotlib.font_manager import *
except:
    s.run("python -m pip install matplotlib")

header = {
      'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64',
      'Referer':'https://movie.douban.com/',
      'Upgrade-Insecure-Requests':'1',
    }

pl = requests.get("https://movie.douban.com/subject/25845392/?from=showing",
        #          params = {'from','showing'},
                  headers = header)

print("HTTP Status Code:",pl.status_code)
print("Trying to write file test.html")
with open("test.html",'w',encoding='utf-8') as f:
    f.write(pl.text)
    del f

with open("test.html","r",encoding='utf-8') as f:
    html = f.read()
    html = etree.HTML(html)
    i5 = html.xpath('//*[@id="interest_sectl"]/div[1]/div[3]/div[1]/span[2]/text()')[0].replace("%",'')
    i4 = html.xpath('//*[@id="interest_sectl"]/div[1]/div[3]/div[2]/span[2]/text()')[0].replace("%",'')
    i3 = html.xpath('//*[@id="interest_sectl"]/div[1]/div[3]/div[3]/span[2]/text()')[0].replace("%",'')
    i2 = html.xpath('//*[@id="interest_sectl"]/div[1]/div[3]/div[4]/span[2]/text()')[0].replace("%",'')
    i1 = html.xpath('//*[@id="interest_sectl"]/div[1]/div[3]/div[5]/span[2]/text()')[0].replace("%",'')
    #print("Type:",type(li))
    #print(five[0],four[0],three[0],two[0],one[0])
    matplotlib.use('qt4agg')
    font = FontProperties(fname='C:\\Windows\\Fonts\\msyh.ttc') #微软雅黑字体,如果没有可以替换
    plt.figure(figsize=(20,8), dpi=100)
    #plt.rcParams['font.family']=['msyh']
    pi = plt.pie([i5,i4,i3,i2,i1],
            labels=["很好","不错","一般","较差","很差"],
            autopct="%1.2f%%",
            colors=['b','r','g','y','c'],
            #fontproperties=font,
            )
    for f in pi[1]:
        f.set_fontproperties(font)
    plt.legend(prop=font)
    plt.title("《长津湖》 电影评价",fontproperties=font)
    plt.axis("equal")
    plt.show()

运行时终端会输出如下:

HTTP Status Code: 200
Trying to write file test.html
D:\Python38\lib\importlib\__init__.py:127: MatplotlibDeprecationWarning:
The matplotlib.backends.backend_qt4agg backend was deprecated in Matplotlib 3.3 and will be removed two minor releases later.
  return _bootstrap._gcd_import(name[level:], package, level)

从下图可以看出,很好(5星)和不错(3星)基本上占了三分之二,说明有相当一部分人觉得这部片还是比较好看的。

?(PS:【1】请自行在目录中建立test.html文件

? ? ? ? ? 【2】如果在运行是跳出很多Warning,并且出现乱码情况,说明是字体除了问题。这个在别? ? ? ? ? ? ? ? ? ? ?的博客上有解决方法,这里就不多赘述

最后,用我在观看是感受最深的一句话来结束本文:

如果我们不打仗,那么我们的下一代就要打仗。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——《长津湖》

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:21:19  更:2021-10-18 17:23:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:51:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码