成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Python爬蟲(chóng)數(shù)據(jù)舉例分析

本篇內(nèi)容介紹了“Python爬蟲(chóng)數(shù)據(jù)舉例分析”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、博湖網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、博湖網(wǎng)絡(luò)營(yíng)銷、博湖企業(yè)策劃、博湖品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供博湖建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:jinyejixie.com

獲取數(shù)據(jù)

打開(kāi)斗魚(yú)直播界面,連續(xù)點(diǎn)擊翻頁(yè)

Network查看異步請(qǐng)求XHR,找到對(duì)應(yīng)的URL

Python爬蟲(chóng)數(shù)據(jù)舉例分析

Python爬蟲(chóng)數(shù)據(jù)舉例分析

成功獲取到對(duì)應(yīng)的URL。

https://www.douyu.com/gapi/rkc/directory/0_0/2

翻頁(yè)只變動(dòng)末尾的最后一個(gè)數(shù)字。

采用requests+pyquery來(lái)爬取。

部分爬蟲(chóng)代碼如下。

def get_datas(url):
 data = []
 doc = get_json(url)
 jobs=doc['data']['rl']
 for job in jobs:
 dic = {}
 dic['user_name']=jsonpath.jsonpath(job,'$..nn')[0] #用戶名
 dic['user_id']= jsonpath.jsonpath(job,'$..uid')[0] #用戶ID
 dic['room_name']=jsonpath.jsonpath(job,'$..rn')[0] #房間名
 dic['room_id']=jsonpath.jsonpath(job,'$..rid')[0] #房間ID
 dic['redu']=jsonpath.jsonpath(job,'$..ol')[0] #熱度
 dic['c2name']=jsonpath.jsonpath(job,'$..c2name')[0] #分區(qū)
 dic['time']= stampToTime(time.time()) 
 data.append(dic)
 return data

剩下就是連續(xù)爬取,我設(shè)置的是10分鐘爬取一次。

將爬取得到的數(shù)據(jù)存入MySQL中。

#存到Mysql
from sqlalchemy import create_engine
engine = create_engine('mysql+mysqldb://root:***密碼***@localhost:3306/demo?charset=utf8mb4')
final_result.to_sql('data_douyu',con=engine, index=False, index_label=False,if_exists='append', chunksize=1000)

連續(xù)爬取了大概七天多時(shí)間,最終得到2062萬(wàn)條直播數(shù)據(jù)。

Python爬蟲(chóng)數(shù)據(jù)舉例分析

數(shù)據(jù)分析

將數(shù)據(jù)導(dǎo)入python。

Python爬蟲(chóng)數(shù)據(jù)舉例分析

去重,其實(shí)爬蟲(chóng)部分已經(jīng)設(shè)置去重,這里為了保險(xiǎn)再來(lái)一次,不過(guò)事實(shí)證明確實(shí)沒(méi)有重復(fù)。

因?yàn)閷?shí)際爬取時(shí)間是0731下午到0808上午,為了方便后文計(jì)算,這里選取0801-0807這連續(xù)七天的直播數(shù)據(jù)。

#去重
data = data[['c2name', 'redu', 'room_id', 'room_name', 'time','user_id', 'user_name']].drop_duplicates()
#篩選時(shí)間
data = data.loc[(data['time'] <= '2019-08-07') & (data['time'] >= '2019-08-01')]

我們還需要對(duì)主播按照id分組匯總。

先利用groupby分類匯總,再計(jì)算增加新列。

data_abc['av_redu'] = data_abc['redu']/data_abc['time_num']
data_abc['hour'] = data_abc['time_num']/ 42 #每十分鐘一次,七天
data_abc.head()

Python爬蟲(chóng)數(shù)據(jù)舉例分析

這樣我們就又構(gòu)建了一組以主播為索引的數(shù)據(jù)。

Python爬蟲(chóng)數(shù)據(jù)舉例分析

也就是說(shuō)這七天之內(nèi),直播過(guò)的主播共有23萬(wàn)余人,那么下文讓我們看看他們的生存現(xiàn)狀吧。

數(shù)據(jù)可視化

將這23萬(wàn)主播按照平均直播時(shí)長(zhǎng)和平均直播熱度繪制一個(gè)散點(diǎn)圖。

import seaborn as sns
import matplotlib as mpl #配置字體
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默認(rèn)字體
mpl.rcParams['axes.unicode_minus']
plt.figure(figsize=(8,8))
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
sns.scatterplot(data_test["hour"],data_test["av_redu"],hue=data_test["c2name"])

結(jié)果如下圖所示。

Python爬蟲(chóng)數(shù)據(jù)舉例分析

從上圖能看出,絕大部分主播都在底部,能夠成為大主播的寥寥無(wú)幾,且熱度較高的主播集中于上述的幾個(gè)熱門分區(qū),其他分區(qū)主播發(fā)展普遍一般。

由于有20多萬(wàn)的主播集中在下方,很難看出他們平均直播時(shí)長(zhǎng)的分布。

另一方面,主播分化程度較為嚴(yán)重,為了更直觀的展現(xiàn)趨勢(shì),我們以1萬(wàn)平均熱度為分界,分析不同規(guī)模的主播每天平均直播時(shí)長(zhǎng)。

#頭部主播
plt.figure(figsize=(10,6))
plt.xticks(fontsize=13)
plt.yticks(fontsize=13)
sns.distplot(data_abc.loc[(data_abc['av_redu'] > 10000)]["hour"],kde=True,rug=False,color='y')
plt.show()

Python爬蟲(chóng)數(shù)據(jù)舉例分析

圖中可以發(fā)現(xiàn)較多的主播每天直播時(shí)長(zhǎng)集中在5小時(shí)左右,這5個(gè)小時(shí)的游戲并非我們平時(shí)玩的那么簡(jiǎn)單。主播直播時(shí)往往既需要全神貫注玩游戲,又要和觀眾一起互動(dòng)交流。

而較少主播直播時(shí)長(zhǎng)則大部分在1小時(shí)左右,不能持續(xù)直播,導(dǎo)致觀眾少;觀看人數(shù)少,主播沒(méi)動(dòng)力,久而久之,也就難以出頭,形成惡性循環(huán)。

上圖中有一些異常值,即平均每日直播時(shí)長(zhǎng)超過(guò)20小時(shí)的直播間,這樣的直播大部分為“一起看”分區(qū),可以24小時(shí)連續(xù)播放電影電視劇之類的視頻,余下都是游戲或者比賽的官方頻道,用來(lái)循環(huán)播放官方視頻。

那么主播們大部分在什么時(shí)間直播呢?

他們的觀眾也是同一時(shí)間準(zhǔn)時(shí)觀看嗎?

Python爬蟲(chóng)數(shù)據(jù)舉例分析

從同一時(shí)間段內(nèi)主播直播與觀眾觀看在線人數(shù)可以看出,有兩個(gè)時(shí)段有差異。

一個(gè)是晚上21點(diǎn)后至凌晨6點(diǎn)前,以直播為職業(yè)的主播往往已經(jīng)進(jìn)行了5-6小時(shí)高強(qiáng)度不間斷的直播,會(huì)選擇后半夜好好休息一下,而將看直播作為娛樂(lè)的觀眾則躺在床上看到上頭;

另一個(gè)時(shí)段是下午12點(diǎn)左右到18點(diǎn),觀眾都正在上班上學(xué),而很多全職主播中午起床吃飯后,正好下午開(kāi)始了他們的直播。

大部分主播并非我們想象的那樣,時(shí)間自由,賺錢容易。每天在線直播的主播人數(shù)以十萬(wàn)甚至百萬(wàn)為單位,但真正贏得觀眾喜愛(ài)和自愿刷大量禮物的事實(shí)上寥寥無(wú)幾。一時(shí)的流量換不來(lái)觀眾永遠(yuǎn)的買賬,以噱頭博出位后如何用內(nèi)容留住觀眾,是每個(gè)主播在探索的方向。

隨著行業(yè)監(jiān)管的加強(qiáng),直播平臺(tái)逐漸褪去“泡沫”,流量紅利消失,回歸理性。“熊貓”已經(jīng)遠(yuǎn)走,行業(yè)內(nèi)的競(jìng)爭(zhēng)更加集中在剩下的頭部平臺(tái)之間,這些平臺(tái)也更需要探索更優(yōu)質(zhì)的內(nèi)容和更多元的發(fā)展!

“Python爬蟲(chóng)數(shù)據(jù)舉例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

新聞名稱:Python爬蟲(chóng)數(shù)據(jù)舉例分析
標(biāo)題URL:http://jinyejixie.com/article16/ghdddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司微信小程序、標(biāo)簽優(yōu)化網(wǎng)站設(shè)計(jì)公司、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
高平市| 吉林省| 塘沽区| 中江县| 无锡市| 济南市| 墨玉县| 商水县| 汉源县| 金堂县| 唐海县| 东宁县| 翼城县| 渭源县| 江安县| 仙桃市| 陆河县| 长丰县| 杂多县| 鹤峰县| 志丹县| 靖西县| 丰台区| 茶陵县| 海原县| 永泰县| 海口市| 泸定县| 东城区| 河津市| 宁都县| 桃源县| 云南省| 安顺市| 岐山县| 武威市| 个旧市| 临沧市| 阳信县| 绥棱县| 达日县|