999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于python的電影評分網頁數據爬取

2022-08-08 07:56:26唐孝國郭俊亮
黑龍江科學 2022年14期
關鍵詞:信息

王 恒,唐孝國,郭俊亮

(銅仁職業技術學院,貴州 銅仁 554300)

0 引言

為了解觀眾的電影喜好,找到了具有代表性的電影網站進行了系統分析。若想要獲取豆瓣網站中電影評分Top250的數據,可直接登錄豆瓣網址,這種操作雖能得到目標數據,但需要耗費大量的時間和精力,并有可能遺漏某些數據,為此通過編寫python程序進行網頁爬取和分析。較于人工搜集數據,python爬取程序具有更為快速、準確及方便的特點,分析后的數據還可以很好地運用到此后的數據可視化分析中。觀眾的電影喜好主要可以通過搜集電影排行榜中排名靠前的電影發布地、電影題材及電影評分等信息得知?;趐ython網絡爬取程序,通過搜集豆瓣Top250電影的發布地和題材等數據,將得到的數據匯入Excle表格,進行可視化分析。其中,各類屬性中的發布地屬性對于某個電影來說是唯一的,其主要發布地的比例可以運用餅圖進行展示,但對于電影題材屬性則運用詞云圖來展示最為合適。

對豆瓣網上的電影數據爬取分析是一個系統化過程,分為如下幾步:

1 構造函數

數據爬取首先要構造爬取一個網頁內容的函數askUrl():返回值為html def askUrl(url):

head={

″User-Agent″: ″Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36″

} #模擬瀏覽器訪問網頁

request = urllib.request.Request(url,headers=head)

html =″″

try: #try: except為錯誤預處理

response = urllib.request.urlopen(request) #利用urllib庫中的request函數發送請求,命名為response。

html = response.read().decode(″utf-8″) #對上面得到的response進行讀取,命名為html。

#print(html)

except urllib.error.URLError as ue:

if hasattr(ue,″code″):

print(ue.code)

if hasattr(ue,″reason″):

print(ue.reason)

return html #最后返回html。

觀察豆瓣影評Top250網站,發現該網站一頁共有25條電影數據,共10頁,因而利用for循環將函數askURL()運行10次,即可得到爬取到豆瓣影評Top250的全部數據。

2 獲取數據

構造函數getData(),獲取250條電影信息并逐一解析,返回值為datalist:def getData(baseurl):

datalist = []

for i in range(0,10):#用一個for循環,爬取十頁數據,一頁250條

url = baseurl + str(i*25)

html = askUrl(url)#將爬取到的網頁源碼保存,命名為html

**對上一步得到的html數據進行逐一解析***#注:此處為一重要環節,將在1.3中進行詳細說明。

return datalist

3 解析數據

運用正則表達式逐一解析數據。運用以上兩個函數,可以籠統的得到有關250條電影信息的html文件,網絡爬蟲的關鍵是運用正則表達式在整個html文件中找到所需要的信息規律,并將其提取出來。以Top1電影《肖申克的救贖》的html文件為例,試圖從中獲取到有用信息的規律,并構造正則表達式進行提取。

導演: 弗蘭克·德拉邦特 Frank Darabont 主演: 蒂姆·羅賓斯 Tim Robbins /...

1994/美國/犯罪 劇情

由于本次爬蟲任務主要為了分析人們的電影喜好,因此將主要爬取以下信息。

A.電影名

上面展示出的html文件中,有關電影名《肖申克的救贖》的部分為:

于是,影片片名的正則表示式規則(之后簡稱為“規則”)為:

findTitle = re.compile(r′′)

B.影評評分

有關影片評分的部分為:

電影評分的規則是:

findGrade = re.compile(r′′)

C.評價人數

有關評價人數的部分為:

于是,評價人數的規則為:

findJnumber = re.compile(r′′)

D.影片類型

有關影片相關內容的部分為:

導演: 弗蘭克·德拉邦特 Frank Darabont 主演: 蒂姆·羅賓斯 Tim Robbins /...

1994/美國/犯罪 劇情

于是,影片類型的規則為:

findBd = re.compile(r′

(.*?)

′,re.S)

確定規則之后,在2中逐一解析數據部分的代碼應為:

titles = re.findall(findTitle,item)

if(len(titles)) == 2:

ctitle = titles[0]

data.append(ctitle) #添加中文名

otitle = titles[1].replace(″/″,″″) #把無關的符號去掉

data.append(otitle) #添加外國名

else:

data.append(titles[0])

data.append(′ ′) #外國名留空

rating = re.findall(findGrade,item)[0]

data.append(rating) #添加評分

jdNum = re.findall(findJnumber,item)[0]

data.append(jdNum) #添加評價人數

bd = re.findall(findBd,item)[0]

bd = re.sub(′(s+)?′,″ ″,bd) #去掉

bd = re.sub(′/′,″ ″,bd) #替換/

data.append(bd.strip()) #去掉前后的空格

datalist.append(data) #把處理好的一部電影信息放入datalist。

4 存儲數據

構造數據保存函數saveData(datalist,savepath),將數據保存在指定路徑savepath中,

def saveData(datalist,savepath):

wbook = xlwt.Workbook(encoding=″ytf=8″,style_compression=0) #創建workbook對象

sheet = wbook.add_sheet(′豆瓣電影Top250′,cell_overwrite_ok=True) #創建工作表

col = (″影片中文名″,″影片外國名″,″評分″,″評價數″,″相關信息″)

for i in range(0,5):

sheet.write(0,i,col[i]) #列名

for i in range(0,250):

print(″第%d條″%(i+1))

data = datalist[i]

for j in range(0,5):

sheet.write(i+1,j,data[j])

wbook.save(savepath) #保存

5 構造主函數main()

def main():

baseurl = ″https://movie.douban.com/top250?start=″

#1.網頁爬取

datalist = getData(baseurl)

savepath = ″.\豆瓣電影Top250.xls″

#3. 保存數據

saveData(datalist,savepath)

6 運行主函數

if __name__ == ″__main__″:

main() #調用函數

print(″爬取完畢″)

上述所有步驟完成后,即可得到一個名為:豆瓣電影Top250.xls的Excel表格文件,里面共包含250條數據。以下為其中的一部分,具體內容如表1所示。

表1 電影數據Tab.1 Movie data

“相關信息”一欄可以通過所含的電影所屬國家和電影種類對觀眾的電影喜好進行分析。為了方便以后的應用,將相關信息一欄分列為“國家”一欄和若干“類型”一欄,并進行簡化處理。簡化后的表格如表2所示。

表2 電影種類Tab.2 Movie types

7 結論與思考

在豆瓣影評Top250中,美國電影所占市場份額較大,占總數的44%。其次為中國電影和日本電影,分別占16%和13%。其余國家電影所占市場份額較少,均不到10%。需大力支持國產電影,有關部門也應加大國產電影的對外宣傳。

在眾多類別的電影中,劇情類電影出現的頻率最高,說明人們對于電影的要求越來越高,不僅限于觀看其特效是否華麗,最為關注的是其本身的劇情,因此一部電影若想吸引人的眼球,需要扣人心弦的好劇本,只靠特效和流量明星是遠遠不夠的,內容連貫、跌宕起伏的劇情才是給電影帶來關注度的重要保障。頻次第二高的是喜劇片,人們的生活壓力越來越大,工作之余和家人朋友一起去看一部喜劇片是一種緩解生活壓力的好方法[3-5]。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产成人三级| 99在线视频精品| 波多野结衣一二三| 国产综合色在线视频播放线视 | 91九色国产在线| 91最新精品视频发布页| 秋霞午夜国产精品成人片| 亚洲av无码成人专区| 老司机精品久久| 永久在线精品免费视频观看| 久久99热这里只有精品免费看| 一级毛片免费不卡在线视频| 国产精品99在线观看| 国产一区二区精品福利| 永久在线精品免费视频观看| 老色鬼欧美精品| 人妻精品久久无码区| AV天堂资源福利在线观看| 亚洲欧美成aⅴ人在线观看| 有专无码视频| 精品福利视频导航| 亚洲精品无码久久久久苍井空| 四虎成人免费毛片| 中文字幕在线一区二区在线| 精品免费在线视频| 久久永久视频| 精品少妇三级亚洲| 免费在线看黄网址| 久久综合婷婷| AⅤ色综合久久天堂AV色综合 | 波多野结衣在线se| 精品伊人久久久香线蕉 | 午夜欧美在线| 亚洲AⅤ永久无码精品毛片| 日韩少妇激情一区二区| 伊人久久久久久久| 国产成人综合网| 午夜小视频在线| 亚洲精品无码日韩国产不卡| 国产在线自乱拍播放| 视频二区亚洲精品| 欧美亚洲国产一区| 午夜一区二区三区| 欧美成人手机在线视频| 国产精品成人AⅤ在线一二三四| 日韩国产无码一区| 又爽又大又光又色的午夜视频| 久99久热只有精品国产15| 亚洲色精品国产一区二区三区| 国产一在线| 国产毛片高清一级国语| 亚洲精品自拍区在线观看| 国产美女在线免费观看| 国产高清自拍视频| 一级毛片高清| 国产成人精品一区二区免费看京| 亚洲国产清纯| 成人在线观看一区| 国产激爽大片在线播放| 无码精品国产dvd在线观看9久| 狠狠ⅴ日韩v欧美v天堂| 波多野结衣视频网站| 狠狠色香婷婷久久亚洲精品| 亚洲综合欧美在线一区在线播放| 制服丝袜亚洲| 最新国产在线| 亚洲综合天堂网| 婷婷丁香色| 综合社区亚洲熟妇p| 就去吻亚洲精品国产欧美| 国产一区二区三区在线观看视频| 丝袜亚洲综合| 国产在线八区| 无遮挡一级毛片呦女视频| 国产无码高清视频不卡| 亚洲VA中文字幕| 国产亚洲精品97AA片在线播放| 国产精品毛片一区| 欧美日韩国产系列在线观看| 亚洲av成人无码网站在线观看| 日本久久网站| 日本草草视频在线观看|