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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据采集

發(fā)布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据采集 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????數(shù)據(jù)分析的前提就是數(shù)據(jù)的數(shù)量和質(zhì)量。今天介紹幾種數(shù)據(jù)源和數(shù)據(jù)的采集方式。
????從數(shù)據(jù)采集角度,數(shù)據(jù)源分為開放數(shù)據(jù)源、爬蟲抓取、日志采集、傳感器,四類數(shù)據(jù)源。

????開放數(shù)據(jù)源和爬蟲聽得比較多(主要是我聽得比較多),所以簡單說一下傳感器和日志采集。傳感器是基于特定的設(shè)備,將設(shè)備采集的信息進(jìn)行收集。基本采集的是物理信息,如圖像、視頻或某物體的速度、熱度、壓強(qiáng)等。日志采集是統(tǒng)計(jì)用戶的操作。可以在前端埋點(diǎn),在后端進(jìn)行腳本收集、統(tǒng)計(jì)來分析網(wǎng)站的訪問情況,以及使用瓶頸。下面列舉一些開放的數(shù)據(jù)源。

如何用爬蟲抓取數(shù)據(jù)

????爬蟲抓取應(yīng)該屬于最常見的需求,比如你想要餐廳的評價數(shù)據(jù)。當(dāng)然這里要注重版權(quán)問題,而且很多網(wǎng)站也是有反爬機(jī)制的。最直接的方法就是使用 Python 編寫爬蟲代碼,當(dāng)然前提是你需要會Python的基本語法。除此之外,PHP 也可以做爬蟲,只是功能不如Python完善,尤其是涉及到多線程的操作。
在 Python 爬蟲中,基本上會經(jīng)歷三個過程。
1.使用 Requests 爬取內(nèi)容。我們可以使用Requests庫來抓取網(wǎng)頁信息。Requests 庫可以說是 Python爬蟲的利器,也就是Python的HTTP庫,通過這個庫爬取網(wǎng)頁中的數(shù)據(jù),非常方便,可以幫我們節(jié)約大量的時間。
2.使用 XPath 解析內(nèi)容。XPath是XML Path的縮寫,也就是XML路徑語言。它是一種用來確定XML文檔中某部分位置的語言,在開發(fā)中經(jīng)常用來當(dāng)作小型查詢語言。XPath 可以通過元素和屬性進(jìn)行位置索引。
3.使用 Pandas 保存數(shù)據(jù)。Pandas是讓數(shù)據(jù)分析工作變得更加簡單的高級數(shù)據(jù)結(jié)構(gòu),我們可以用 Pandas 保存爬取的數(shù)據(jù)。最后通過 Pandas 再寫入到 XLS 或者 MySQL 等數(shù)據(jù)庫中。
????Requests、XPath、Pandas是Python的三個利器。當(dāng)然做Python爬蟲還有很多利器,比如Selenium,PhantomJS,或者用Puppteteer這種無頭模式。
另外我們也可以不編程就抓取到網(wǎng)頁信息,這里介紹三款常用的抓取工具。

火車采集器(http://www.locoy.com/)

????火車采集器有十幾年的歷史了,不僅可以做抓取工具,也可以做數(shù)據(jù)清洗、數(shù)據(jù)分析、數(shù)據(jù)挖掘和可視化等工作。數(shù)據(jù)源適合絕大部分的網(wǎng)頁,網(wǎng)頁中能看到的內(nèi)容都可以通過采集規(guī)則進(jìn)行抓取。

八爪魚(https://www.bazhuayu.com/)

????八爪魚也是知名的采集工具。他有免費(fèi)的采集模板和云采集(付費(fèi))。免費(fèi)的采集模板實(shí)際上是內(nèi)容采集規(guī)則,包括電商類、生活服務(wù)類、社交媒體類和論壇類的網(wǎng)站,也可以自定義任務(wù)。云采集是當(dāng)配置好采集任務(wù)后,八爪魚云端進(jìn)行采集,通過云端多節(jié)點(diǎn)并發(fā)采集,速度遠(yuǎn)遠(yuǎn)超過本地,可以自動切換多個IP,避免IP被封。很多時候自動轉(zhuǎn)換IP以及云采集才是自動化采集的關(guān)鍵。

集搜客(http://www.gooseeker.com/)

????完全可視化操作,無需編程。缺點(diǎn)是沒有云采集。

日志采集

????日志采集是通過分析用戶訪問情況,提升系統(tǒng)的性能,從而提高系統(tǒng)的承載量,及時發(fā)現(xiàn)系統(tǒng)瓶頸,方便技術(shù)人員基于用戶的訪問情況進(jìn)行優(yōu)化。日志記錄了用戶訪問網(wǎng)站的全過程:什么人通過什么渠道訪問,執(zhí)行了什么操作,系統(tǒng)是否發(fā)生錯誤等。,日志采集有助于我們了解用戶的操作數(shù)據(jù),適用于運(yùn)維監(jiān)控、安全審計(jì)、業(yè)務(wù)數(shù)據(jù)分析等場景。一般Web服務(wù)器會自帶日志功能,也可以使用Flume從不同的服務(wù)器集群中采集、匯總和傳輸大容量的日志數(shù)據(jù)。當(dāng)然我們也可以使用第三方的統(tǒng)計(jì)工具或自定義埋點(diǎn)得到自己想要的統(tǒng)計(jì)內(nèi)容。
日志采集可以分兩種形式。
1.通過 Web 服務(wù)器采集,例如httpd、Nginx、Tomcat都自帶日志記錄功能。同時很多互聯(lián)網(wǎng)企業(yè)都有自己的海量數(shù)據(jù)采集工具,多用于系統(tǒng)日志采集,如 Hadoop 的 Chukwa、Cloudera的Flume、Facebook的Scribe等,這些工具均采用分布式架構(gòu),能夠滿足每秒數(shù)百M(fèi)B的日志數(shù)據(jù)采集和傳輸需求。
2.自定義采集用戶行為,例如用 JavaScript 代碼監(jiān)聽用戶的行為、AJAX 異步請求后臺記錄日志等。

埋點(diǎn)是什么

????埋點(diǎn)是日志采集的關(guān)鍵步驟,埋點(diǎn)就是在有需要的位置采集相應(yīng)的信息,進(jìn)行上報(bào)。比如某頁面的訪問情況,包括用戶信息、設(shè)備信息;或者用戶在頁面上的操作行為,包括時間長短等。這就是埋點(diǎn),每一個埋點(diǎn)就像一臺攝像頭,采集用戶行為數(shù)據(jù),將數(shù)據(jù)進(jìn)行多維度的交叉分析,可真實(shí)還原出用戶使用場景,和用戶使用需求。那我們要如何進(jìn)行埋點(diǎn)呢?埋點(diǎn)就是在你需要統(tǒng)計(jì)數(shù)據(jù)的地方植入統(tǒng)計(jì)代碼,當(dāng)然植入代碼可以自己寫,也可以使用第三方統(tǒng)計(jì)工具。對于埋點(diǎn)這類監(jiān)測性的工具,市場上已經(jīng)比較成熟,比如友盟、Google Analysis、Talkingdata等。他們都是采用前端埋點(diǎn)的方式,然后在第三方工具里就可以看到用戶的行為數(shù)據(jù)。但如果我們想要看到更深層的用戶操作行為,就需要進(jìn)行自定義埋點(diǎn)。
????數(shù)據(jù)采集是數(shù)據(jù)分析的關(guān)鍵,很多時候我們會想到Python網(wǎng)絡(luò)爬蟲,實(shí)際上數(shù)據(jù)采集的方法、渠道很廣,有些可以直接使用開放的數(shù)據(jù)源,比如想獲取比特幣歷史的價格及交易數(shù)據(jù),可以直接從Kaggle上下載,不需要自己爬取。另一方面根據(jù)我們的需求,需要采集的數(shù)據(jù)也不同,比如交通行業(yè),數(shù)據(jù)采集會和攝像頭或者測速儀有關(guān)。對于運(yùn)維人員,日志采集和分析則是關(guān)鍵。所以我們需要針對特定的業(yè)務(wù)場景,選擇適合的采集工具。
????歡迎關(guān)注個人公眾號:小菜雞的技術(shù)之路。二維碼如下:

總結(jié)

以上是生活随笔為你收集整理的数据采集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。