日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

按15分钟取数据_Python爬取猫眼电影《飞驰人生》4万多条评论并对其进行数据分析...

發布時間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 按15分钟取数据_Python爬取猫眼电影《飞驰人生》4万多条评论并对其进行数据分析... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

文的文字及圖片來源于網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。

作者: Yura不說數據說 ,PYuraL

PS:如有需要Python學習資料的小伙伴可以加點擊下方鏈接自行獲取

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

數據爬取

其實我一開始是想用豆瓣網的評論的,但是我翻了翻吧,發現“最熱評論”只能看到500條,“最新評論”只能顯示100條,拿600條數據能分析出個啥?

百度了一下,看大家都是用貓眼評論,于是就……爬貓眼!網頁版的貓眼只能顯示有限的評論,切換到APP版本才能看到所有評論。

找network里面的網頁也不難,隨便拿一條評論搜索一下就可以找到

關鍵是找到不同網頁之間的變化規律

有些網址,表面看上去,區別就是在于offset(偏移量),但是實際上更改這個數值到1005的時候就爬不到東西了(可能是由于網頁內部的設置吧),就是說這么下去我們只能得到1000條評論。

那是哪1000條評論呢?我們看到網址中有個關鍵詞“ts=1549640420581”,其實就是當前時間的意思(時間戳),轉化一下就是:

所以1000條就是從這個時間點,往前偏移15條后,最新的1000條評論。

通過百度各位大神的爬蟲過程,我發現終極解決方法就是更改ts的值!如果說偏移量15的意思是從這個查詢的時間往前偏移15條再取得15條評論數據(limit=15),那么我們每次更改ts值不就可以了。

第一個ts值是程序開始運行的時間,第二個值就從已經獲取的評論數據中拿到最早的那個數據,以此不斷往前翻滾……

我爬取了2月8日24點之前的所有評論信息,按App顯示此時至少有80000+條數據,但是我爬下來總共只有4w+條…數據缺失還是比較嚴重的。

數據格式如下(包括用戶id、用戶昵稱、用戶貓眼等級、性別、時間、評分、評論內容、點贊數和評論數):

這些都是在json里面,格式非常清晰明了。

數據清洗

拿到數據除了做詞云用了Python(代碼在最后),其他的內容Excel分分鐘解決,這里尤其感謝發明“數據透視表”的兄弟。

數據分析

1.觀眾信息

男女比例各占一半,男的對賽車這類刺激性東西感興趣可以理解,這女觀眾都是為了啥?為了黃景瑜小哥哥的臉?還是像我一樣沖著阿信來的?這里信息太少,我只做少量胡思亂猜。

用戶等級又是類似于正態分布的形狀,巧的嘞……其中0分和1分的用戶(可以認定為新注冊用戶)僅占9.78%,可以看出評分的人中水軍是很少的,基本都是貓眼老用戶。

再看看4天用戶評價數量的變化:

基本可得這部電影熱度呈現緩慢下降的趨勢(但是由于數據的不完整性,不能絕對說明)

那用戶都喜歡在什么時間評論呢?對比看四天的評論hour數據:

如果大家習慣看完電影馬上評價的話,那么從評論趨勢來看,從中午12點之后評論數逐漸增加,推測是由于早上10點左右那場電影的結束。隨后評論數不斷增加,在晚飯前的5、6點和睡覺前的23點左右達到小高峰。

嗯,非常符合大家“醒了看電影,看完吃飯,吃了再看,看了再睡‘的“節假日生活作息”。

2.評分情況

按照我爬取的數據我們看到超過一半(52.37%)的觀眾給這部電影打了滿分10分,極少量用戶評分在6分以下(僅占7.58%)。根據我爬取的數據,計算所得平均分是8.725,和實時顯示的分數8.8相差不大。

除了從宏觀角度看評分,我們來瞧瞧評論者性別和評論時間與最終評分有什么不能說的秘密?

性別的不同并沒有造成評分很大的區別,男觀眾和女觀眾的評分平均分僅僅相差0.35分,“未知性別”人群的評分在兩者之間,基本等于男性評分8.53和女性評分8.88的的平均值(8.71)。嗯,我很有理由懷疑“未知人群”中男女比例也各占一半!

從評分時間和評分的關系來看,低分一般出現在0點到7點之間,我猜吧,大概是在這種夜深人靜的時候,大家的情緒容易有大起大落,白天看完電影時的興奮已經退去,留下的只有深深的思考,或許還帶點批判性,吧。

3.評論內容

先看看點贊數最高的5條評論。

我們發現前5條評論評分均為10分:其中第一條,emmm,與電影無關,暫時跳過……其他幾條都是贊美韓寒、沈騰和黃景瑜的。

那通過詞云具體看一下評論內容:

不成熟的代碼

from bs4 import BeautifulSoupimport requestsimport warningsimport refrom datetime import datetimeimport jsoheaders = { 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1', 'Connection':'keep-alive'}cookies={'cookie':'_lxsdk_cuid=168c325f322c8-0156d0257eb33d-10326653-13c680-168c325f323c8; uuid_n_v=v1; iuuid=30E9F9E02A1911E9947B6716B6E91453A6754AA9248F40F39FBA1FD0A2AD9B42; webp=true; ci=191%2C%E5%8F%B0%E5%B7%9E; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; __mta=49658649.1549462270794.1549465778684.1549548206227.3; _lxsdk=30E9F9E02A1911E9947B6716B6E91453A6754AA9248F40F39FBA1FD0A2AD9B42; _lxsdk_s=168c898414e-035-f0e-e6%7C%7C463'}?#url設置offset偏移量為0url = 'http://m.maoyan.com/review/v2/comments.json?movieId=1218091&userId=-1&offset=0&limit=15&ts={}&type=3'?comment=[]nick=[]score=[]comment_time=[]gender=[]userlevel=[]userid=[]upcount=[]replycount=[]ji=1??url_time=url_time=int(time.time())*1000#獲取當前時間(單位是毫秒,所以要??1000)?for i in range(2000): value=15*i url_range=url.format(url_time) res=requests.get(url_range,headers=headers,cookies=cookies,timeout=10) res.encoding='utf-8' print('正在爬取第'+str(ji)+'頁') content=json.loads(res.text,encoding='utf-8') list_=content['data']['comments'] count=0 for item in list_: comment.append(item['content']) nick.append(item['nick']) score.append(item['score']) comment_time.append(datetime.datetime.fromtimestamp(int(item['time']/1000))) gender.append(item['gender']) userlevel.append(item['userLevel']) userid.append(item['userId']) upcount.append(item['upCount']) replycount.append(item['replyCount']) count=count+1 if count==15: url_time=item['time'] ji+=1 time.sleep(random.random())print('爬取完成')print(url_time)result={'用戶id':userid,'用戶昵稱':nick,'用戶等級':userlevel,'性別':gender,'時間':comment_time,'評分':score,'評論內容':comment,'點贊':upcount,'評論':replycount}results=pd.DataFrame(result)results.info()results.to_excel('貓眼_飛馳人生.xlsx')

總結

以上是生活随笔為你收集整理的按15分钟取数据_Python爬取猫眼电影《飞驰人生》4万多条评论并对其进行数据分析...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。