文 | ssw
来源:Python 技术「ID: pythonall」
上回说到要吐槽轩逸,罗列完就没管它了:
![0c66080d5a5250834964195ae5e130b4.png](https://i-blog.csdnimg.cn/blog_migrate/542d34083b8e7250e6d1abc4b44fb9f6.png)
晚上无聊刷懂车帝,看到有位哥们开喷的帖子
![b6a2ebf29303d37c58f98e13d16b938d.png](https://i-blog.csdnimg.cn/blog_migrate/b18cc3bfdf80b37e515dacf531cb0e94.png)
反手就是一个赞。
正所谓,师出有名,吐槽它也得有理有据。
巧妇难为无米之炊,先收集论据!
爬轩逸车友圈
过程照旧,请参考Python指导你买车,第二弹, 修改scrapy几处:
条件改为“最不满意”
re.compile(r'.*【最不满意】(.*)', re.S)
设置爬60页
if self.page_num <= 60:
爬到符合“【最不满意】”的内容130条:
http://ssw.fit/file/ 可查看内容
![cac6ca7d65ac2c6e04c7a29783a17f79.png](https://i-blog.csdnimg.cn/blog_migrate/b84235aa9fa29c30e7d6225d54713190.png)
词云
“异响,塑料,飘,车漆薄,噪音”等等词语在车主的描述中反复出现,谁称得上“罪魁祸首”?首当其冲的就是“车漆”
'''生成词云'''
import jieba
from wordcloud import WordCloud
txt = '' #文本内容打开网页复制即可:http://ssw.fit/file/轩逸最不满意.txt
words = jieba.lcut(txt) #精确分词
newtxt = ''.join(words) #空格拼接
wordcloud = WordCloud(width = 1200,
height = 1000,
max_font_size = 160,font_path="ZKTSongFXSFU.TTF").generate(newtxt)
wordcloud.to_file('ciyun.png')
经检查,文本中车漆薄、车漆太薄、车漆是真的薄、车漆是薄、车漆比较薄、车漆确实薄、车漆方面也比较薄、车漆非常的薄、车漆有点薄
等出现“车漆”的地方多达21处。
轩逸的第一个槽点很明显了,简而言之,用书法大家黄庭坚的如椽大笔来写就两字:
漆薄
![d3f577785c5f3e81ee03507a2ba522ae.png](https://i-blog.csdnimg.cn/blog_migrate/aa9dac96b48a0dc86271beb961956abf.png)
此书法刚劲有力,力透纸背,尤其“漆薄”两大字,妙到巅峰。
值得注意的是,漆薄并非最大槽点,我们继续往下看。
某些字迹不够清晰,更换字体重新生成词云:
![85b24af401c08c08377f5fbcbcf8459b.png](https://i-blog.csdnimg.cn/blog_migrate/e61c5157436447e44b6f97d57ee7119a.png)
和动力相关的吐槽占据了头条,最大槽点是它!
槽点排行榜
上图还不够明显,继续调整参数
max_font_size = 160
将最大字号放大,用"方正苏新"字体重新生成词云:
![60f656e4c677830e9c1b546299eea481.png](https://i-blog.csdnimg.cn/blog_migrate/0b4c72daf20e880412c4a83acce99065.png)
图中的字越大,可认为文本中的相关描述越多,槽点越大
特别是“车漆薄”这种短词语,词云最容易体现。相比之下,“动力”可能被车主描述为“上坡干吼不走,提速是真慢”,词云不易体现。
观察图片,根据文字大小寻找到关键词:
动力、车漆、“隔音+噪音”、配置、定速巡航、异响、超车、飘
接下来统计它们在文本中出现的次数
import codecs # 作用:处理中文不乱码
import jieba # 分词
from collections import Counter # 计数
def make_word(txt):
make_list = jieba.cut(txt)
c = Counter() # 对字典的增强
for i in make_list:
if len(i) >=1 and i!='\r\n':
c[i] = c[i] +1
for k,v in c.most_common(1000):
if k in ['动力','车漆','隔音','噪音','配置','定速巡航','异响','超车','飘']:
print(k,v)
if __name__ == '__main__':
with codecs.open('x.txt','r','utf8') as f:
txt = f.read()
make_word(txt)
得到槽点的出现次数,内容如下
![6dc57f5d516831e5875d731a9ca8ff13.png](https://i-blog.csdnimg.cn/blog_migrate/76b6ddc5c76b77816a99934352a29b7d.png)
通过pyecharts绘制柱状图
![c46898ca37b03a2ea0db6b49b47a4ce7.png](https://i-blog.csdnimg.cn/blog_migrate/0618282f299a6b27577583effe761a00.png)
榜单显示,“动力”32条稳居榜首,“车漆”紧随其后,“噪音”表现亮眼屈居季军,“配置低”凭借一贯的尿性窜入前四。“榜尾之争”倒不激烈,叨陪末座的“飘”,大概是车身轻,跑快了容易飘,加上动力弱承受了不该承受的激情与速度,轩逸已难受控制,用小沈阳的话讲,就是“轩逸,你咋又跑偏了捏?”。
轩逸说你这么吐槽我,太委屈了,就一无是处吗?。
那咱们换个可爱一点的字体,给你个“真皮大沙发”:
![84c9cadea2cead19c9afab7ef8a8b51c.png](https://i-blog.csdnimg.cn/blog_migrate/a7b47be698cf58aeb261b910a8f032de.png)
定速巡航同样被吐槽的多,顶配都减配,众所周知,委系的作风一贯如此。
到这里就基本吐槽完了,作为一台价格10w级以上的家用轿车,轩逸雷凌卡罗拉“马路三大妈”同为日系,缺点如出一辙,动力弱鸡、皮薄少馅安全差!真鸡贼!
补充一点,词云在处理中文时还需要指定中文字体(font_path参数),为丰富词云图片效果,可以下载一些字体
字体
下载一个叫“字加”的软件
![77187a4c9ec846e31ee3f18ffa22fb13.png](https://i-blog.csdnimg.cn/blog_migrate/ed2a98f570b66452b1b10e19d2f0243d.png)
选择喜欢的字体点击红框的地方,就会自动在C:\Windows\Fonts添加这种字体
![1120902ea59ea1e9f3b48edf95cdb35d.png](https://i-blog.csdnimg.cn/blog_migrate/806e2aec8a39cba40b2607a7ac97ea1a.png)
打开自己电脑C:\Windows\Fonts
选择字体右键复制,并将该字体文件与代码存放在同一目录下(或在字体文件名前增加完整路径)
设置wordcloud的font_path参数为字体名
至此,运行脚本就可以看到各种字体的词云图片了
PS:Python技术交流群(技术交流、摸鱼、白嫖课程为主)又不定时开放了,感兴趣的朋友,可以在下方公号内回复:666,即可进入,一起 100 天计划!
老规矩,酱友们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
【神秘礼包获取方式】
识别文末二维码,回复:1024