數(shù)據(jù)分析實(shí)戰(zhàn)45講 筆記四

08 | 數(shù)據(jù)采集:如何自動(dòng)化采集數(shù)據(jù)沃粗?

數(shù)據(jù)采集是數(shù)據(jù)挖掘的基礎(chǔ),沒(méi)有數(shù)據(jù)键畴,挖掘也沒(méi)有意義最盅。很多時(shí)候,我們擁有多少數(shù)據(jù)源起惕,多少數(shù)據(jù)量涡贱,以及數(shù)據(jù)質(zhì)量如何,將決定我們挖掘產(chǎn)出的成果會(huì)怎樣惹想。我們需要通過(guò)多源的數(shù)據(jù)采集问词,收集到盡可能多的數(shù)據(jù)維度,同時(shí)保證數(shù)據(jù)的質(zhì)量嘀粱,這樣才能得到高質(zhì)量的數(shù)據(jù)挖掘結(jié)果激挪。我們需要針對(duì)特定的業(yè)務(wù)場(chǎng)景,選擇適合的采集工具草穆。

數(shù)據(jù)源

  1. 開(kāi)放數(shù)據(jù)源
    開(kāi)放數(shù)據(jù)源可以從兩個(gè)維度來(lái)考慮灌灾,一個(gè)是單位的維度,比如政府悲柱、企業(yè)锋喜、高校;一個(gè)就是行業(yè)維度,比如交通嘿般、金融段标、能源等領(lǐng)域。


    image.png
  2. 爬蟲(chóng)爬取
    Python 編寫(xiě)爬蟲(chóng)代碼:1.使用 Requests 爬取內(nèi)容炉奴;2.使用 XPath 解析內(nèi)容;3.使用 Pandas 保存數(shù)據(jù)逼庞。
    火車采集器
    八爪魚(yú)
    集搜客

  3. 日志采集
    為什么要做日志采集呢?日志采集最大的作用瞻赶,就是通過(guò)分析用戶訪問(wèn)情況赛糟,提升系統(tǒng)的性能,從而提高系統(tǒng)承載量砸逊。及時(shí)發(fā)現(xiàn)系統(tǒng)承載瓶頸璧南,也可以方便技術(shù)人員基于用戶實(shí)際的訪問(wèn)情況進(jìn)行優(yōu)化。
    日志采集可以分兩種形式师逸。1.通過(guò) Web 服務(wù)器采集司倚,例如 httpd、Nginx篓像、Tomcat 都自帶日志記錄功能动知。同時(shí)很多互聯(lián)網(wǎng)企業(yè)都有自己的海量數(shù)據(jù)采集工具,多用于系統(tǒng)日志采集员辩,如 Hadoop 的 Chukwa盒粮、Cloudera 的 Flume、Facebook 的 Scribe 等屈暗,這些工具均采用分布式架構(gòu)拆讯,能夠滿足每秒數(shù)百 MB 的日志數(shù)據(jù)采集和傳輸需求。2.自定義采集用戶行為养叛,例如用 JavaScript 代碼監(jiān)聽(tīng)用戶的行為种呐、AJAX 異步請(qǐng)求后臺(tái)記錄日志等。

  4. 傳感器
    傳感器采集基本上是基于特定的設(shè)備弃甥,將設(shè)備采集的信息進(jìn)行收集即可爽室。

埋點(diǎn)是什么
埋點(diǎn)是日志采集的關(guān)鍵步驟,那什么是埋點(diǎn)呢淆攻?
埋點(diǎn)就是在有需要的位置采集相應(yīng)的信息阔墩,進(jìn)行上報(bào)。比如某頁(yè)面的訪問(wèn)情況瓶珊,包括用戶信息啸箫、設(shè)備信息;或者用戶在頁(yè)面上的操作行為伞芹,包括時(shí)間長(zhǎng)短等忘苛。這就是埋點(diǎn)蝉娜,每一個(gè)埋點(diǎn)就像一臺(tái)攝像頭,采集用戶行為數(shù)據(jù)扎唾,將數(shù)據(jù)進(jìn)行多維度的交叉分析召川,可真實(shí)還原出用戶使用場(chǎng)景,和用戶使用需求胸遇。
那我們要如何進(jìn)行埋點(diǎn)呢荧呐?
埋點(diǎn)就是在你需要統(tǒng)計(jì)數(shù)據(jù)的地方植入統(tǒng)計(jì)代碼,當(dāng)然植入代碼可以自己寫(xiě)纸镊,也可以使用第三方統(tǒng)計(jì)工具倍阐。我之前講到“不重復(fù)造輪子”的原則,一般來(lái)說(shuō)需要自己寫(xiě)的代碼逗威,一般是主營(yíng)核心業(yè)務(wù)收捣,對(duì)于埋點(diǎn)這類監(jiān)測(cè)性的工具,市場(chǎng)上已經(jīng)比較成熟庵楷,這里推薦你使用第三方的工具,比如友盟楣颠、Google Analysis尽纽、Talkingdata 等。他們都是采用前端埋點(diǎn)的方式童漩,然后在第三方工具里就可以看到用戶的行為數(shù)據(jù)弄贿。但如果我們想要看到更深層的用戶操作行為,就需要進(jìn)行自定義埋點(diǎn)矫膨。
總結(jié)一下差凹,日志采集有助于我們了解用戶的操作數(shù)據(jù),適用于運(yùn)維監(jiān)控侧馅、安全審計(jì)危尿、業(yè)務(wù)數(shù)據(jù)分析等場(chǎng)景。一般 Web 服務(wù)器會(huì)自帶日志功能馁痴,也可以使用 Flume 從不同的服務(wù)器集群中采集谊娇、匯總和傳輸大容量的日志數(shù)據(jù)。當(dāng)然我們也可以使用第三方的統(tǒng)計(jì)工具或自定義埋點(diǎn)得到自己想要的統(tǒng)計(jì)內(nèi)容罗晕。

09丨數(shù)據(jù)采集:如何用八爪魚(yú)采集微博上的“D&G”評(píng)論

“八爪魚(yú)”工具所見(jiàn)即所得的方式济欢,基本上不需要編寫(xiě)代碼,除了在正則表達(dá)式匹配的時(shí)候會(huì)用到 XPath小渊。

八爪魚(yú)的基本操作

  1. 輸入網(wǎng)頁(yè):輸入所要采集的網(wǎng)頁(yè)法褥。(必填項(xiàng))
  2. 設(shè)計(jì)流程:這個(gè)步驟最為關(guān)鍵,需要告訴八爪魚(yú)酬屉,如何操作頁(yè)面的半等、想要提取頁(yè)面上的哪些信息等。因?yàn)閿?shù)據(jù)條數(shù)比較多,通常你還需要翻頁(yè)酱鸭,所以要進(jìn)行循環(huán)翻頁(yè)的設(shè)置吗垮。可以使用簡(jiǎn)易采集方式凹髓,也可以采用自定義的方式烁登。
  3. 啟動(dòng)采集:八爪魚(yú)會(huì)提示你保存采集好的數(shù)據(jù),通常是 xlsx 或 csv 格式蔚舀。

當(dāng)使用自定義采集饵沧,就需要自己來(lái)設(shè)計(jì)采集流程,也就是采集流程中的第二步赌躺。一共分為 4 步狼牺,分別是打開(kāi)網(wǎng)頁(yè)、點(diǎn)擊元素礼患、循環(huán)翻頁(yè)是钥、提取數(shù)據(jù)。

基本步驟:

  1. 打開(kāi)網(wǎng)頁(yè)缅叠。所有的采集默認(rèn)第一項(xiàng)都是打開(kāi)網(wǎng)頁(yè)悄泥。所以在新建任務(wù)之后,系統(tǒng)會(huì)提示你輸入網(wǎng)址肤粱。
  2. 點(diǎn)擊元素弹囚。這里元素的定義比較廣泛,它可以是某個(gè)按鈕领曼,或者某個(gè)鏈接鸥鹉,也或者是某個(gè)圖片或文字。使用這個(gè)步驟是你在搜索或者提交某個(gè)請(qǐng)求庶骄。當(dāng)你點(diǎn)擊元素后毁渗,八爪魚(yú)會(huì)提示你想要達(dá)到的目的:點(diǎn)擊該按鈕、采集該元素文本单刁、還是鼠標(biāo)移到該鏈接上祝蝠。然后再選擇“點(diǎn)擊該按鈕”進(jìn)行確認(rèn)即可。如果我們點(diǎn)擊某個(gè)元素的目的是循環(huán)翻頁(yè)幻碱,或者提取數(shù)據(jù)绎狭,那么在點(diǎn)擊之后,八爪魚(yú)會(huì)確認(rèn)你的目的褥傍,你只要點(diǎn)擊相關(guān)的按鈕即可儡嘶。
  3. 循環(huán)翻頁(yè)。很多數(shù)據(jù)都存在翻頁(yè)的情況恍风,通常你需要找到翻頁(yè)的位置蹦狂,比如網(wǎng)頁(yè)底部的“下一頁(yè)”按鈕誓篱,點(diǎn)擊它,會(huì)提示你“循環(huán)點(diǎn)擊下一頁(yè)”凯楔、“采集該鏈接文本”還是“點(diǎn)擊該鏈接”窜骄。你需要確認(rèn)這里是進(jìn)行的“循環(huán)點(diǎn)擊下一頁(yè)”。
  4. 提取數(shù)據(jù)摆屯。在網(wǎng)頁(yè)上選擇你想要提取的頁(yè)面范圍邻遏,鼠標(biāo)移動(dòng)到頁(yè)面上會(huì)呈現(xiàn)藍(lán)色的陰影面積,它表明了你想提取的數(shù)據(jù)范圍虐骑。然后點(diǎn)擊鼠標(biāo)后准验,在右側(cè)選擇“采集數(shù)據(jù)”即可。

10丨Python爬蟲(chóng):如何自動(dòng)化下載王祖賢海報(bào)廷没?(不懂)

爬蟲(chóng)的流程

  1. 打開(kāi)網(wǎng)頁(yè)糊饱,可使用 Requests 訪問(wèn)頁(yè)面,得到服務(wù)器返回給我們的數(shù)據(jù)颠黎,這里包括 HTML 頁(yè)面以及 JSON 數(shù)據(jù)另锋。
  2. 提取數(shù)據(jù).,主要用到了兩個(gè)工具狭归。針對(duì) HTML 頁(yè)面砰蠢,可以使用 XPath 進(jìn)行元素定位,提取數(shù)據(jù)唉铜;針對(duì) JSON 數(shù)據(jù),可以使用 JSON 進(jìn)行解析律杠。
    XPath 是 XML 的路徑語(yǔ)言潭流,實(shí)際上是通過(guò)元素和屬性進(jìn)行導(dǎo)航,幫我們定位位置柜去。它有幾種常用的路徑表達(dá)方式灰嫉。JSON 是一種輕量級(jí)的交互方式,在 Python 中有 JSON 庫(kù)嗓奢,可以讓我們將 Python 對(duì)象和 JSON 對(duì)象進(jìn)行轉(zhuǎn)換讼撒。
  3. 保存數(shù)據(jù)”.可以使用 Pandas 保存數(shù)據(jù),最后導(dǎo)出 CSV 文件股耽。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末根盒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子物蝙,更是在濱河造成了極大的恐慌炎滞,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诬乞,死亡現(xiàn)場(chǎng)離奇詭異册赛,居然都是意外死亡钠导,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門森瘪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)牡属,“玉大人,你說(shuō)我怎么就攤上這事扼睬〈ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵痰驱,是天一觀的道長(zhǎng)证芭。 經(jīng)常有香客問(wèn)我,道長(zhǎng)担映,這世上最難降的妖魔是什么废士? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蝇完,結(jié)果婚禮上官硝,老公的妹妹穿的比我還像新娘。我一直安慰自己短蜕,他們只是感情好氢架,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著朋魔,像睡著了一般岖研。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上警检,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天孙援,我揣著相機(jī)與錄音,去河邊找鬼扇雕。 笑死拓售,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镶奉。 我是一名探鬼主播础淤,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼哨苛!你這毒婦竟也來(lái)了鸽凶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤建峭,失蹤者是張志新(化名)和其女友劉穎吱瘩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體迹缀,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡使碾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蜜徽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片票摇。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拘鞋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矢门,到底是詐尸還是另有隱情盆色,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布祟剔,位于F島的核電站隔躲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏物延。R本人自食惡果不足惜宣旱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望叛薯。 院中可真熱鬧浑吟,春花似錦、人聲如沸耗溜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抖拴。三九已至燎字,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阿宅,已是汗流浹背候衍。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留家夺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓伐弹,卻偏偏與公主長(zhǎng)得像拉馋,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惨好,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • 交朋友免不了要對(duì)酒當(dāng)歌煌茴,人生幾何,一次幾個(gè)朋友日川,相約到漢口酒樓一聚蔓腐,本以為是一般的酒樓,不會(huì)有太多的破費(fèi)龄句,誰(shuí)知進(jìn)大...
    崗崗hg閱讀 250評(píng)論 2 3
  • MySQL的存儲(chǔ)引擎是從MyISAM到InnoDB回论,鎖從表鎖到行鎖散罕。后者的出現(xiàn)從某種程度上是彌補(bǔ)前者的不足...
    夜雨聽(tīng)風(fēng)_b3d5閱讀 668評(píng)論 0 0
  • 【安然?悅分享】 在生活中 很多人常常受困于 既想得到,又受不了付出的苦 那么傀蓉,你的環(huán)境 因你而被定義 【故事慧】...
    喜悅的安然閱讀 329評(píng)論 0 0