[Python] 實戰系列 - 抓取台灣銀行牌告匯率寫入MySQL
前言
本篇主要紀錄學習過pandas、檔案寫入、MySQL後做整合。
實作步驟:
- pandas讀取html的table標籤,轉為dataframe
- 處理dataframe
- 篩選目標欄位,並更改欄位名稱
- 更改某欄位的值
- 轉為
.csv
並存入MySQL
本篇主要紀錄學習過pandas、檔案寫入、MySQL後做整合。
.csv
並存入MySQL本篇用於紀錄使用Python操作MySQL
因為之前有下載MAMP,裡面已經安裝過MySQL。
1 |
|
安裝完成後建立名為crud_test的資料庫。
本篇紀錄MongoDB整合Python的pymongo及mongo shell進行資料庫操作,安裝方式參考本篇。
在操作MongoDB前需要了解兩者的對應關係,才能理解如何下操作指令
MongoDB是一個NoSQL的資料庫,相較傳統RDBMS,NoSQL資料庫不需事先定義schema,設計上面較為彈性,MongoDB也有類似SQL語法對資料庫進行資料操作的方法,本篇著重於紀錄MongoDB的安裝與連接。
Pandas是python的一個數據分析的函式庫,提供簡易使用的資料格式,使用者透過這項工具快速操作及分析資料,提供十分容易操作的資料結構如:DataFrame。
Pandas不但可以網頁中的表格資料,還能從外部匯入資料,將這些資料進行排序、修改或是做成統計相關的圖表。
Selenium 是一個瀏覽器自動化測試工具,最初是為了自動化測試開發,在爬蟲流行開始後,也成為其中一種爬蟲工具。它的功能可以控制瀏覽器,模擬人對瀏覽器操作,整個過程是自動化的。
selenium支援Java、JavaScript、Python等多種主流程式語言,本篇主要用Python實作。
1 |
|
成功後,顯示Successfully installed selenium.
繼上篇筆記之後,本篇主要紀錄我常用的爬蟲工具:requests
、BeautifulSoup
這兩個模組。
向網站發請求時,GET與POST是常見的HTTP Method,爬蟲大多採用這兩種方法。
1 |
|
1 |
|
這學期因為專題需要用到網路爬蟲進行實作,所以將學習到的知識做一篇紀錄,之後忘記可以回來複習一下。
根據維基百科定義:
也叫網路蜘蛛(spider),是一種用來自動瀏覽全球資訊網的網路機器人。其目的一般為編纂網路索引。
網路搜尋引擎等站點通過爬蟲軟體更新自身的網站內容或其對其他網站的索引。網路爬蟲可以將自己所存取的頁面儲存下來,以便搜尋引擎事後生成索引供用戶搜尋。
簡單來說就是對網站進行資料擷取,可以透過它自動蒐集我們所想要的資料,將資料進行分析或是再利用,這樣的技術在資料科學領域算是幾乎需具備的技能。
寫程式有時候會發生一些錯誤,程式就會立即停止->立即出現error mesaage。
避免因為使用者輸入的問題或設定的問題造成程式被迫中斷,或產生不可預期的狀況,有些例外錯誤必須在某些特定的情況下才會發生,為了能夠更有效應付這種錯誤,可以使用例外處理來解決。
本篇紀錄Python在開檔/讀檔的操作方法,並以.txt
檔為範例。
選定要處理得目標檔案,建立檔案物件(file object),若檔案不存在,open()
函式就會拋出一個FileNotFoundError
的錯誤訊息。f = open(檔名, "操作模式", encoding="編碼方式")