Python之千与千寻豆瓣短评词云秀
经典台词:
1、我不知道离别的滋味是这样凄凉,我不知道说声再见要这么坚强。
2、人永远不知道,谁哪次不经意的跟你说了再见之后,就真的不会再见了。
3、曾经发生过的事情不可能忘记,只不过是想不起而已。
4、因为遇见你,我才知道我也能拥有美丽的记忆。所以,无论你怎么对待我,我都会用心去宽恕你的恨,用心去铭记你的好。
5、不要吃太胖哟,会被杀掉的!
6、我只能送你到这里了,剩下的路你要自己走,不要回头。
7、不管前方的路有多苦,只要走的方向正确,不管多么崎岖不平,都比站在原地更接近幸福。
8、放心吧,你一定可以做得到的。
9、人生就是一列开往坟墓的列车,路途上会有很多站,很难有人可以自始至终陪着走完。当陪你的人要下车时,即使不舍也该心存感激,然后挥手道别。
10、我不知道将去何方,但我已经在路上。
11、人们常常会欺骗你,是为了让你明白,有时候,你唯一应该相信的人就是你自己。
12、千万不可以丢失自我。
13、已经走到尽头的东西,重生也不过是再一次的消亡。就像所有的开始,其实都只是一个写好了的结局。
14、用善意的心情去理解别人的话,会让世界单纯美好容易。世界如此之大,我却能幸运地遇见一些人。
15、这世上有一条路无论如何也不能走,那就是歧途,只要走错一步结果都会是粉身碎骨。
16、一条路不能回头,就是一生要走许多路,有成长之路。很多事情不能自己掌控,即使再孤单再寂寞,仍要继续走下去,不许停、也不能回头。
17、名字一旦被夺走,就再也找不到回家的路了,
18、龙是温柔的,既温柔又愚蠢。
19、这个世界真的很现实,每个人都在为同一个目的,不惜一切代价努力着,心甘情愿的成为金钱的奴隶,死心塌地的付出。
20、生活坏到一定程度就会好起来,因为它无法更坏,努力过后,才知道许多事情,坚持坚持,就过来了。
21、我只是相信,这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活。
22、人们总是不断犯错,虽然前途迷茫,但他们的双手仍然寻找光明。
23、她从父母变成猪的那一刻起,就深深地记住:别人 的东西不可以拿,虽然自己的朋友千方百计才把它偷到手,但是千寻相信,做人应该帮朋友弥补错误,而不是把朋友往错误的深渊里推,朋友 是要走正路的。
24、再漫长的故事,也有完结的时候,行驶的再慢的列车,也有一个又一个的站台;在亲密无间的旅伴,也有分开的时候,旅途上经历的事情,可能会被我们遗忘;旅途上学到的东西,我们却会将它记在心间。
词云:
源码:
1 import requests 2 from stylecloud import gen_stylecloud 3 import jieba 4 import re 5 6 from bs4 import BeautifulSoup 7 from wordcloud import STOPWORDS 8 9 headers = { 10 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0' 11 } 12 13 14 15 16 def jieba_cloud(file_name, icon): 17 with open(file_name, 'r', encoding='utf8') as f: 18 word_list = jieba.cut(f.read()) 19 20 result = " ".join(word_list) # 分词用 隔开 21 22 # 设置停用词 23 stopwords_file = open('stopwords.txt', 'r', encoding='utf-8') 24 stopwords = [words.strip() for words in stopwords_file.readlines()] 25 26 27 # 制作中文词云 28 icon_name = " " 29 if icon == "1": 30 icon_name = "fas fa-thumbs-up" 31 elif icon == "2": 32 icon_name = "fas fa-heartbeat" 33 elif icon == "3": 34 icon_name = "fas fa-dog" 35 elif icon == "4": 36 icon_name = "fas fa-cat" 37 elif icon == "5": 38 icon_name = "fas fa-bug" 39 elif icon == "6": 40 icon_name = "fab fa-qq" 41 pic = str(icon) + '.png' 42 if icon_name is not None and len(icon_name) > 0: 43 gen_stylecloud(text=result, 44 size=1024, # stylecloud 的大小(长度和宽度) 45 icon_name=icon_name, 46 font_path='simsun.ttc', 47 max_font_size=200, # stylecloud 中的最大字号 48 max_words=2000, # stylecloud 可包含的最大单词数 49 # stopwords=TRUE, # 布尔值,用于筛除常见禁用词 50 custom_stopwords=stopwords, #定制停用词列表 51 output_name=pic) 52 else: 53 gen_stylecloud(text=result, font_path='simsun.ttc', output_name=pic) 54 return pic 55 56 57 # 爬取短评 58 def spider_comment(movie_id, page): 59 comment_list = [] 60 with open("douban.txt", "a+", encoding='utf-8') as f: 61 for i in range(1,page+1): 62 63 url = 'https://movie.douban.com/subject/%s/comments?start=%s&limit=20&sort=new_score&status=P' \ 64 % (movie_id, (i - 1) * 20) 65 66 req = requests.get(url, headers=headers) 67 req.encoding = 'utf-8' 68 comments = re.findall('<span class="short">(.*)</span>', req.text) 69 70 71 f.writelines('\n'.join(comments)) 72 print(comments) 73 74 75 # 主函数 76 if __name__ == '__main__': 77 movie_id = '1291561' 78 page = 10 79 spider_comment(movie_id, page) 80 jieba_cloud("douban.txt", "1") 81 jieba_cloud("douban.txt", "2") 82 jieba_cloud("douban.txt", "3") 83 jieba_cloud("douban.txt", "4") 84 jieba_cloud("douban.txt", "5") 85 86 jieba_cloud("douban.txt", "6")