数据采集及采集工具八爪鱼的使用
數據采集及采集工具八爪魚的使用
一個數據的走勢是由多個維度影響的,因此我們需要通過多源的數據采集,盡可能收集到更多的數據維度,公司保證數據質量,才能得到高質量的數據挖掘結果。
數據源分類:
開放數據源:
- 可以從兩個維度來考慮,一個是單位的維度,比如政府、企業、高校;一個就是行業維度,比如交通、金融、能源等領域。
爬蟲獲取:
-
Python爬蟲三個過程:
- 使用requests爬取內容,可以用其來抓取網頁信息。
- 使用xpath解析內容。XPath是一種用來確定 XML 文檔中某部分位置的語言,在開發中經常用來當作小型查詢語言。XPath可以通過元素和屬性進行位置索引。
- 使用 Pandas 保存數據。pandas可以保存爬取的數據寫入到xls或MySQL等數據庫中。
-
常用網頁信息抓取工具:
-
[火車采集器]http://www.locoy.com/
-
[八爪魚]https://www.bazhuayu.com/
-
[集搜客]http://www.gooseeker.com/index.html
日志采集:
- 日志采集最大的作用,就是通過分析用戶訪問情況,提升系統的性能,從而提高系統承載量。及時發現系統承載瓶頸,也可以方便技術人員基于用戶實際的訪問情況進行優化。
- 日志采集可分為兩種形式:
- 通過web服務器采集
- 自定義采集用戶行為
- 埋點是日志采集的關鍵步驟,其是在有需要的位置采集相應的信息進行上報。
- 在需要統計數據的地方植入統計代碼。
- 有助于了解用戶的操作數據,適用于運維監控、安全審計、業務數據分析等場景。
- 一般web服務器自帶日志功能,也可以使用flume從不同服務器集群中采集、匯總和傳輸大容量的日志數據。
采集用具八爪魚的使用:
- 八爪魚采集分為三步:
-
流程步驟可分為基本步驟和高級步驟
-
基本步驟分別是打開網頁、點擊元素、循環翻頁、提取數據
- 打開網頁:所有的采集默認第一項都是打開網頁,在新建任務并輸入網址后,八爪魚會自動建立一個打開網頁流程。
- 點擊元素:這里元素的定義比較廣泛,它可以是某個按鈕,或者某個鏈接,也或者是某個圖片或文字。使用這個步驟是你在搜索或者提交某個請求。當你點擊元素后,八爪魚會提示你想要達到的目的:點擊該按鈕、采集該元素文本、還是鼠標移到該鏈接上。然后再選擇“點擊該按鈕”進行確認即可。如果我們點擊某個元素的目的是循環翻頁,或者提取數據,那么在點擊之后,八爪魚會確認你的目的,你只要點擊相關的按鈕即可。
- 循環翻頁:很多數據都存在翻頁的情況,通常你需要找到翻頁的位置,比如網頁底部的“下一頁”按鈕,點擊它,會提示你“循環點擊下一頁”、“采集該鏈接文本”還是“點擊該鏈接”。你需要確認這里是進行的“循環點擊下一頁”。
- 提取數據:在網頁上選擇你想要提取的頁面范圍,鼠標移動到頁面上會呈現藍色的陰影面積,它表明了你想提取的數據范圍。然后點擊鼠標后,在右側選擇“采集數據”即可。
-
高級步驟包括輸入文字、驗證碼識別、下拉選項、判斷條件、移動鼠標到元素上、結束循環、結束流程
Python爬蟲流程:打開網頁、提取數據和保存數據。
-
打開網頁:可以使用Requests 訪問頁面,得到服務器返回數據,包括HTML及json。
-
提取數據:對于HTML,可使用xpath進行元素定位提取數據。
? 對于json,可使用json進行解析。
-
保存數據:可使用pandas保存數據并導出csv文件。
Requests訪問頁面:
-
Requests是Python HTTP的客戶端庫,有兩種訪問方式:Get和Post。Get把參數包含在url中,Post通過request body來傳遞參數。
-
Get訪問
r = requests.get('http://www.douban.com')r為get請求后的訪問結果,通過r.text或r.content可獲取HTML正文。
-
Post表單傳遞
r = requests.post('http://xxx.com', data = {'key':'value'})
xpath定位:
-
其可通過元素和屬性來定位位置。
-
常用路徑表達方式:
表達式含義 node 選node節點的所有子節點 / 從根節點選取 // 選取所有的當前節點,不考慮位置 . 當前節點 … 父節點 @ 屬性選擇 | 或,兩個節點的合計 text() 當前路徑下的文本內容 -
定位HTML所有列表項目:
from lxml import etree html = etree.HTML(html) result = html.xpath('//li')
json對象:
利用JSON庫可以完成Python對象與json對象之間的轉換。
json.dumps() 將Python對象轉換成json對象
json.loads() 將json對象轉換成Python對象
總結
以上是生活随笔為你收集整理的数据采集及采集工具八爪鱼的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: boot界面上下键调节键不能动_为什么电
- 下一篇: Oralce函数