《我和我的家鄉(xiāng)》影評高頻詞原來是這些杆融!

本文作者:李婷婷 河南大學經濟學院
文字編輯:崔趙雯
技術總編:余術玲

導讀

??前段時間電影院上映了幾部重量級電影,《我和我的家鄉(xiāng)》蒋腮、《姜子牙》藕各、《奪冠》等等,使沉寂已久的電影院又熱鬧了起來激况!不知道大家看了哪一部電影呢?

?《我和我的家鄉(xiāng)》這部電影中的五個故事既有讓大家捧腹大笑的瞬間竭讳,也有讓大家感動落淚的時刻浙踢。今天我們就通過豆瓣電影來看一下《我和我的家鄉(xiāng)》這部電影的評價。在本篇推文中胰舆,我們通過爬取豆瓣電影上《我和我的家鄉(xiāng)》的影評內容并制作詞云圖,讓大家可以直觀看到影評中出現(xiàn)的一些高頻詞匯思瘟。

圖片1.jpg

一滨攻、爬取影評內容

??首先,我們找到豆瓣電影中《我和我的家鄉(xiāng)》光绕,這部電影的影評(網(wǎng)絡鏈接:https://movie.douban.com/subject/35051512/reviews)诞帐,然后查看網(wǎng)頁的源代碼,并觀察源代碼信息停蕉,找到目標信息所在的位置。

image

??通過觀察菇晃,我們發(fā)現(xiàn)每條影評的標題和鏈接都在同一行蚓挤,而且所在的行都包含</a></h2>這個標簽。先以第一頁為例估灿,通過正則表達式保留目標信息所在的行缤剧,并提取影評的標題和鏈接。

image
clear all
cap mkdir D:/影評爬取
cd D:/影評爬取
copy "https://movie.douban.com/subject/35051512/reviews" temp.txt, replace
infix strL v 1-100000 using temp.txt, clear
keep if ustrregexm(v,"</a></h2>")
gen url=ustrregexs(1) if ustrregexm(v,`"<a href="(.*)">"')
replace v =ustrregexra(v,"<.*?>","")
rename v title

??這樣我們就可以得到第一頁當中所有影評的標題和鏈接了司顿,但是影評不止一頁兄纺,所以我們需要先從第一頁的源代碼中提取出影評的總頁數(shù)化漆,之后再遍歷所有頁面進行提取所需要的信息。
image
copy "https://movie.douban.com/subject/35051512/reviews" temp.txt, replace
infix strL v 1-100000 using temp.txt, clear
keep if index(v,`"<span class="thispage" data-total-page="')
replace v=ustrregexs(0) if ustrregexm(v,"(\d+)")
local p=v[1]

??接下來對頁碼進行循環(huán)疙赠,抓取所有頁面的信息,并將每一頁的信息分別保存厌衔,之后再進行合并捍岳。

forvalues i=1/`p'{
    local j=(`i'-1)*20
    cap copy "https://movie.douban.com/subject/35051512/reviews?start=`j'" temp.txt,replace 
    while _rc!=0 { 
       cap copy "https://movie.douban.com/subject/35051512/reviews?start=`j'" temp.txt, replace
    }
   infix strL v 1-100000 using temp.txt, clear
   keep if ustrregexm(v,"</a></h2>")
   gen url=ustrregexs(1) if ustrregexm(v,`"<a href="(.*)">"')
   replace v =ustrregexra(v,"<.*?>","")
   rename v title
   save "我和我的家鄉(xiāng)影評_`i'",replace
}
 *合并文件
clear
local files:dir "." file "我和我的家鄉(xiāng)影評*.dta"
foreach file in `files' {
    append using "`file'"
    }
drop if url==""
save "我和我的家鄉(xiāng)影評.dta", replace
image

??如圖所示锣夹,我們得到了所有影評的標題和影評的鏈接,下一步我們就可以使用這些鏈接進行二次爬蟲抓取影評的內容啦银萍!

gen v=""
forvalues i=1/`=_N' {
    sleep 1000
    replace v=fileread(url) in `i' 
    while filereaderror(v[`i'])!=0 {
        sleep 5000
        replace v=fileread(url) in `i'
      }
     dis `i'
}
split v,p(`"<div id="link-report">"' `"<div class="main-author">"')
replace v2 = ustrregexra(v2,"\s","",.)
replace v2 = ustrregexra(v2,"<.*?>","",.)
replace v2 = ustrregexra(v2,"&nbsp|&copy|-|;","")
rename v2 content
keep title content
save "我和我的家鄉(xiāng)影評1.dta",replace
image

??如圖所示贴唇,我們得到了《我和我的家鄉(xiāng)》這部電影在豆瓣上所有影評的標題和影評的內容。接下來就可以根據(jù)影評內容進行制作詞云圖了~

二豌熄、詞云圖

??我們通過Stata和Python的交互實現(xiàn)對影評內容的分詞處理物咳,因為影評的內容通常較長,而且含有名詞览闰、形容詞等多種詞性,因此崖咨,這里使用jieba.posseg進行分詞油吭,獲得每個詞語的詞性。

use 我和我的家鄉(xiāng)影評1.dta,clear
keep content
export delimited using content.txt,replace
*調用Python分詞
clear all
python
import jieba.posseg
word=[]
with open(r"content.txt",encoding="utf8") as f:
    for i in f.readlines():
        str=i    
        word.append(str)
jieba.load_userdict(r"tsdict.txt")
with open("分詞.txt","w",encoding="utf8") as f2:
    for unit in word:
        seg_list = jieba.posseg.cut(unit)
        for word in seg_list:
            f2.write(word.word+" "+word.flag+"\n")
end

??將分詞的結果導入到Stata之后歌豺,刪除缺失值心包、單字和停用詞并進行詞頻統(tǒng)計。

import delimited using 分詞.txt, clear encoding("utf-8")
split v1,p(" ")
drop v1
rename (v11 v12) (keyword flag)
drop if ustrlen(keyword) == 1
drop if keyword ==""
preserve
import delimited using 停用詞表.txt, clear encoding("utf-8") varname(nonames)
outsheet using 停用詞表.txt, replace
levelsof v1, local(keyword)
restore
foreach word in `keyword' {
    drop if keyword == "`word'"
} 
*詞頻統(tǒng)計
bysort keyword:gen frequency = _N
gsort -frequency
duplicates drop
save word,replace

??最后,我們在得到的分詞結果中只保留名詞区宇、動詞和形容詞值戳,并進行詞云圖的繪制。

use word,clear
keep if ustrregexm(flag,"^[anv]")
keep in 1/100
wordcloud keyword frequency using 詞云.html, replace size(15 80) range(3480 2160)
shellout 詞云圖.html

??制作的詞云圖結果如下圖所示:
image

??從詞云圖中可以看出卧晓,“故事”鲫凶、“家鄉(xiāng)”、“北京”波附、“老師”昼钻、“回鄉(xiāng)”這些詞出現(xiàn)的頻率很高。從電影的影評內容也可以看出然评,這部電影喚起了很多人的家鄉(xiāng)情懷。你去電影院看這部電影了嘛盏求?歡迎大家留言交流觀影感受哦~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末亿眠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子荆烈,更是在濱河造成了極大的恐慌竟趾,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玫鸟,死亡現(xiàn)場離奇詭異山卦,居然都是意外死亡诵次,警方通過查閱死者的電腦和手機枚碗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門铸本,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怨规,你說我怎么就攤上這事锡足。” “怎么了舶得?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵沐批,是天一觀的道長纫骑。 經常有香客問我九孩,道長,這世上最難降的妖魔是什么煤墙? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任宪拥,我火速辦了婚禮,結果婚禮上设预,老公的妹妹穿的比我還像新娘犁河。我一直安慰自己,他們只是感情好桨螺,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布灭翔。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稀蟋。 梳的紋絲不亂的頭發(fā)上呐赡,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音萌狂,去河邊找鬼怀泊。 笑死,一個胖子當著我的面吹牛霹琼,可吹牛的內容都是我干的。 我是一名探鬼主播碧囊,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼糯而,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了熄驼?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤诺祸,失蹤者是張志新(化名)和其女友劉穎祭芦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胃夏,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡昌跌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年蚕愤,在試婚紗的時候發(fā)現(xiàn)自己被綠了饺蚊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悬嗓。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖曙求,靈堂內的尸體忽然破棺而出碍庵,到底是詐尸還是另有隱情,我是刑警寧澤堰氓,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布苹享,位于F島的核電站,受9級特大地震影響得问,放射性物質發(fā)生泄漏。R本人自食惡果不足惜焚挠,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一漓骚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧噩斟,春花似錦、人聲如沸剃允。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽营袜。三九已至丑罪,卻和暖如春荚板,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拧抖。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工免绿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人淌哟。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓辽故,卻偏偏與公主長得像,于是被迫代替她去往敵國和親誊垢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348