基于Python的豆瓣影評分析——數(shù)據(jù)預(yù)處理

一牍鞠、數(shù)據(jù)抓取

? ? ? ?利用python軟件,抓取豆瓣網(wǎng)上關(guān)于《向往的生活》的影視短評评姨,進(jìn)行網(wǎng)頁爬蟲难述,爬蟲代碼如下:

import requests

import re

cookies=[cookie1,cookie2,cookie3]

url1='https://movie.douban.com/subject/26873657/comments?start='? #《向往的生活 第1季》豆瓣短評網(wǎng)址

url2='https://movie.douban.com/subject/27602222/comments?start='?? #《向往的生活 第2季》豆瓣短評網(wǎng)址

url3='https://movie.douban.com/subject/30441625/comments?start='?? #《向往的生活 第3季》豆瓣短評網(wǎng)址

urls=[url1,url2,url3]

comments=[]

for i in range(0,3):

??? print(urls[i])

??? for n in range(0,500, 20):

??????? #獲取目標(biāo)網(wǎng)頁

??????? url = urls[i] +str(n) + '&limit=20&sort=new_score&status=P'

??????? # print(url)

??????? # print(n)

??????? #打開目錄,并獲取內(nèi)容

??????? html =requests.get(url, cookies=cookies[i])

??????? # print(html)

??????? #print(html.text)

??????? #篩選數(shù)據(jù)

??????? data =re.findall('(.*?)', html.text)

??????? for j inrange(len(data)):

??????????? comments.append(data[j])

print(comments)

with open('E:/熱心市民與好好先生/me/畢設(shè)/數(shù)據(jù)/data.txt','w',encoding='utf-8')as f:

??? #f.writelines(comments)

??? for comment incomments:

???????f.write(comment+"\n")

? ? ? ?由于豆瓣網(wǎng)設(shè)有爬蟲限制頻率吐句,所以抓取《向往的生活》三季的1468條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集胁后,并保存為txt文件。訓(xùn)練集的部分?jǐn)?shù)據(jù)如下:

部分訓(xùn)練集

二嗦枢、數(shù)據(jù)預(yù)處理

? ? ? ?由于原始的影評文本中可能存在與情感分析任務(wù)無關(guān)的內(nèi)容以及軟件無法識別的特殊字符表情攀芯,因此要對文本進(jìn)行預(yù)處理操作。數(shù)據(jù)預(yù)處理分為中文分詞和去除停用詞兩個步驟文虏。

(1)中文分詞

? ? ? ?中文分詞就是將一整句中文文本侣诺,經(jīng)過切分形成單個單獨詞語的過程,本文采取的中文分詞工具為jieba分詞氧秘,詞與詞之間用空格隔開年鸳。

import jieba? #Python載入包

def preHandler(sentence):

??? seg_list=jieba.cut(sentence)

???f_stop=open('stopwords.txt','r')

??? try:

???????f_stop_text=f_stop.read()

??? finally:

??????? f_stop.close()

???f_stop_seg_list=f_stop_text.split('\n')

??? words=[]

??? for word inseg_list:

??????? ifnot(word.strip() in f_stop_seg_list):

???????????words.append(word)

??? return words


fw=open('E:/熱心市民與好好先生/me/畢設(shè)/數(shù)據(jù)/predata.txt','w', encoding='utf-8')

with open('E:/熱心市民與好好先生/me/畢設(shè)/數(shù)據(jù)/data.txt','r', encoding='utf-8') as f:

??? for line inf.readlines():

??????? line=line.strip()

???????word=preHandler(line)

??????? fw.write("".join(i for i in word)+"\n")

fw.close()

(2)去除停用詞

? ? ? ?為有效提高運行時間,節(jié)省儲存空間丸相,我們將采取去除停用詞的方法搔确,本文采取的停用詞都是感情色彩較弱或不具有感情色彩的詞匯。數(shù)據(jù)在進(jìn)行上述兩個步驟之后灭忠,形成的txt文件部分內(nèi)容如下:

數(shù)據(jù)預(yù)處理部分結(jié)果

三膳算、描述性統(tǒng)計

? ? ? ?將預(yù)處理得到的數(shù)據(jù)導(dǎo)入到Python中,手動去除幾個出現(xiàn)頻率高但不包含情感的詞匯后弛作,把文本中出現(xiàn)頻率較高的關(guān)鍵詞涕蜂,在視覺效果上給予突出,形成關(guān)鍵詞云層映琳。繪制詞云圖Python代碼如下:

def random_color_func(word=None, font_size=None,position=None, orientation=None, font_path= None, random_state=None):

??? h = randint(0, 0)

??? s = int(0 * 0 /255.0)

??? l = int(0 *float(randint(60, 120)) / 255.0)

??? return"hsl({}, {}%, {}%)".format(h, s, l)

with open(r'predata.txt','r',encoding="utf-8") asfile1:

? content ="".join(file1.readlines())

images = Image.open("ci.png") #讀取背景圖片宇葱,

maskImages = np.array(images)

wc = WordCloud(font_path="msyh.ttc",


??????????????background_color="white",

??????????????mask=maskImages,

??????????????max_words=1000,

??????????????max_font_size=300,

??????????????#color_func=random_color_func

??????????????).generate(content)

plt.imshow(wc)

plt.axis("off")

wc.to_file('laomao.png')

plt.show()

? ? ? ?文本評論中“喜歡”瘦真、“綜藝”和“生活”屬于用戶共同的話題,文字越大表明用戶的情感越強(qiáng)烈黍瞧,綜合以上信息诸尽,可得大多數(shù)人認(rèn)為《向往的生活》這一綜藝是好看的,大多數(shù)用戶是喜歡的印颤,節(jié)目中的大華也得到了一致好評您机。但詞云圖中也出現(xiàn)了“抄襲”、“尷尬”這些話題年局,說明有一部分評論者認(rèn)為節(jié)目存在抄襲現(xiàn)象际看,相處模式比較尷尬,這就為創(chuàng)作者提供了很好的改進(jìn)來源矢否。創(chuàng)作者在節(jié)目原創(chuàng)部分有待提高仲闽,劇本和嘉賓相處模式可以更加流暢。

影視評論詞云圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末僵朗,一起剝皮案震驚了整個濱河市赖欣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌验庙,老刑警劉巖顶吮,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異粪薛,居然都是意外死亡悴了,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門违寿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來湃交,“玉大人,你說我怎么就攤上這事藤巢「爿海” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵菌瘪,是天一觀的道長腮敌。 經(jīng)常有香客問我阱当,道長俏扩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任弊添,我火速辦了婚禮录淡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘油坝。我一直安慰自己嫉戚,他們只是感情好刨裆,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著彬檀,像睡著了一般帆啃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窍帝,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天努潘,我揣著相機(jī)與錄音,去河邊找鬼坤学。 笑死疯坤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的深浮。 我是一名探鬼主播压怠,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼飞苇!你這毒婦竟也來了菌瘫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤玄柠,失蹤者是張志新(化名)和其女友劉穎突梦,沒想到半個月后膜蠢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咧擂,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年手幢,在試婚紗的時候發(fā)現(xiàn)自己被綠了这弧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娃闲。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖匾浪,靈堂內(nèi)的尸體忽然破棺而出皇帮,到底是詐尸還是另有隱情,我是刑警寧澤蛋辈,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布属拾,位于F島的核電站,受9級特大地震影響冷溶,放射性物質(zhì)發(fā)生泄漏渐白。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一逞频、第九天 我趴在偏房一處隱蔽的房頂上張望纯衍。 院中可真熱鬧,春花似錦苗胀、人聲如沸襟诸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歌亲。三九已至菇用,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陷揪,已是汗流浹背刨疼。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留鹅龄,地道東北人揩慕。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像扮休,于是被迫代替她去往敵國和親迎卤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容