• 用python来吐槽,真是太会玩啦


    1b1293a01b5a95124832a401001d9a91.jpeg

    文 | ssw

    来源:Python 技术「ID: pythonall」

    0d2300dfb6709c4fd808933a78189fb3.jpeg

    上回说到要吐槽轩逸,罗列完就没管它了:

    0c66080d5a5250834964195ae5e130b4.png

    晚上无聊刷懂车帝,看到有位哥们开喷的帖子

    b6a2ebf29303d37c58f98e13d16b938d.png

    反手就是一个赞。

    正所谓,师出有名,吐槽它也得有理有据。

    巧妇难为无米之炊,先收集论据!

    爬轩逸车友圈

    过程照旧,请参考Python指导你买车,第二弹, 修改scrapy几处:

    1. 条件改为“最不满意”

    re.compile(r'.*【最不满意】(.*)', re.S)
    1. 设置爬60页

    if self.page_num <= 60:

    爬到符合“【最不满意】”的内容130条:

    http://ssw.fit/file/ 可查看内容

    cac6ca7d65ac2c6e04c7a29783a17f79.png

    词云

    “异响,塑料,飘,车漆薄,噪音”等等词语在车主的描述中反复出现,谁称得上“罪魁祸首”?首当其冲的就是“车漆”

    1. '''生成词云'''
    2. import jieba
    3. from wordcloud import WordCloud
    4. txt = '' #文本内容打开网页复制即可:http://ssw.fit/file/轩逸最不满意.txt
    5. words = jieba.lcut(txt)     #精确分词
    6. newtxt = ''.join(words)    #空格拼接
    7. wordcloud = WordCloud(width = 1200,
    8.                       height = 1000,
    9.                       max_font_size = 160,font_path="ZKTSongFXSFU.TTF").generate(newtxt)
    10. wordcloud.to_file('ciyun.png')

    经检查,文本中车漆薄、车漆太薄、车漆是真的薄、车漆是薄、车漆比较薄、车漆确实薄、车漆方面也比较薄、车漆非常的薄、车漆有点薄等出现“车漆”的地方多达21处。

    轩逸的第一个槽点很明显了,简而言之,用书法大家黄庭坚的如椽大笔来写就两字:

    漆薄

    d3f577785c5f3e81ee03507a2ba522ae.png

    此书法刚劲有力,力透纸背,尤其“漆薄”两大字,妙到巅峰。

    值得注意的是,漆薄并非最大槽点,我们继续往下看。

    某些字迹不够清晰,更换字体重新生成词云:

    85b24af401c08c08377f5fbcbcf8459b.png

    和动力相关的吐槽占据了头条,最大槽点是它!

    槽点排行榜

    上图还不够明显,继续调整参数

    max_font_size = 160

    将最大字号放大,用"方正苏新"字体重新生成词云:

    60f656e4c677830e9c1b546299eea481.png

    图中的字越大,可认为文本中的相关描述越多,槽点越大

    特别是“车漆薄”这种短词语,词云最容易体现。相比之下,“动力”可能被车主描述为“上坡干吼不走,提速是真慢”,词云不易体现。

    观察图片,根据文字大小寻找到关键词:

    动力、车漆、“隔音+噪音”、配置、定速巡航、异响、超车、飘

    接下来统计它们在文本中出现的次数

    1. import codecs # 作用:处理中文不乱码
    2. import jieba # 分词
    3. from collections import Counter # 计数
    4. def make_word(txt):
    5.     make_list = jieba.cut(txt)
    6.     c = Counter() # 对字典的增强
    7.     for i  in make_list:
    8.         if len(i) >=1 and i!='\r\n':
    9.             c[i] = c[i] +1
    10.     for k,v in c.most_common(1000):
    11.         if k in ['动力','车漆','隔音','噪音','配置','定速巡航','异响','超车','飘']:
    12.             print(k,v)
    13. if __name__ == '__main__':
    14.     with codecs.open('x.txt','r','utf8') as f:
    15.         txt = f.read()
    16.     make_word(txt)

    得到槽点的出现次数,内容如下

    6dc57f5d516831e5875d731a9ca8ff13.png

    通过pyecharts绘制柱状图

    c46898ca37b03a2ea0db6b49b47a4ce7.png

    榜单显示,“动力”32条稳居榜首,“车漆”紧随其后,“噪音”表现亮眼屈居季军,“配置低”凭借一贯的尿性窜入前四。“榜尾之争”倒不激烈,叨陪末座的“飘”,大概是车身轻,跑快了容易飘,加上动力弱承受了不该承受的激情与速度,轩逸已难受控制,用小沈阳的话讲,就是“轩逸,你咋又跑偏了捏?”。

    轩逸说你这么吐槽我,太委屈了,就一无是处吗?。

    那咱们换个可爱一点的字体,给你个“真皮大沙发”:

    84c9cadea2cead19c9afab7ef8a8b51c.png

    定速巡航同样被吐槽的多,顶配都减配,众所周知,委系的作风一贯如此。

    到这里就基本吐槽完了,作为一台价格10w级以上的家用轿车,轩逸雷凌卡罗拉“马路三大妈”同为日系,缺点如出一辙,动力弱鸡、皮薄少馅安全差!真鸡贼!

    补充一点,词云在处理中文时还需要指定中文字体(font_path参数),为丰富词云图片效果,可以下载一些字体

    字体

    1. 下载一个叫“字加”的软件

    77187a4c9ec846e31ee3f18ffa22fb13.png

    选择喜欢的字体点击红框的地方,就会自动在C:\Windows\Fonts添加这种字体

    1120902ea59ea1e9f3b48edf95cdb35d.png
    1. 打开自己电脑C:\Windows\Fonts

    2. 选择字体右键复制,并将该字体文件与代码存放在同一目录下(或在字体文件名前增加完整路径)

    3. 设置wordcloud的font_path参数为字体名

    至此,运行脚本就可以看到各种字体的词云图片了

    PS:Python技术交流群(技术交流、摸鱼、白嫖课程为主)又不定时开放了,感兴趣的朋友,可以在下方公号内回复:666,即可进入,一起 100 天计划!

    e6d3471bcc371dca6f03546dc3552531.png

    老规矩,酱友们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

    f24e8fe8b243113526912e27dcd17cf5.gif

    神秘礼包获取方式

    识别文末二维码,回复:1024

  • 相关阅读:
    【Linux】动静态库
    MyBatis 判断条件为不等于的问题(<if test=“变量!= ‘1‘.toString()“> xxx </if>
    Fabric.js 禁止元素超出画布
    基于CentOS8操作cobbler批量装机
    群狼调研(长沙学校满意度调查)开展长沙游客满意度调查
    基于python和定向爬虫的商品比价系统
    花2个月时间学习,面华为测开岗要30k,面试官竟说:你不是在搞笑。。。
    【C++】STL容器——string类的例题应用(9)
    python经典百题之根据值打印*
    MySQL第十二讲:ShardingJDBC详解
  • 原文地址:https://blog.csdn.net/weixin_48923393/article/details/127505679