跳到主要內容

文章

[Python爬蟲教學]教你如何部署Python網頁爬蟲至Heroku雲端平台

Photo by Lara Far on Unsplash 想要從事網頁資料分析的人,相信對於使用Python來開發網頁爬蟲取得所需的資料並不陌生,但是有沒有辦法能夠每天持續的自動化蒐集資料,並且儲存在資料庫中,使得有足夠的資料量可以進行分析?
答案是有的,本文將延續[Python爬蟲教學]輕鬆學會Python網頁爬蟲與MySQL資料庫的整合方式文章,將開發完成的Python網頁爬蟲部署到Heroku雲端平台,串接Heroku ClearDB MySQL雲端資料庫,存入取得的網頁資料,並且,透過Heroku Scheduler排程器自訂執行時間,來實現自動化資料蒐集,如下圖:
以上圖示取自Heroku官網Yahoo股市官網 其中的重點包含:  安裝Git安裝Heroku CLI建立Heroku應用程式建立ClearDB MySQL建立ClearDB MySQL資料表部署Python網頁爬蟲建立Heroku Scheduler一、安裝GitGit是一個分散式的版本控制系統(Version Control System),除了可以協助開發人員進行程式碼的版本控制外,在使用Heroku雲端平台運行應用程式時,也需使用Git來推送(push)程式碼至HerokuGit Repository,進行部署的動作。
前往Git官網的下載頁面,依照作業系統進行安裝,如下圖: 安裝完成後,開啟命令提示字元視窗,輸入以下指令: $ git --version如果有顯示版本號,即代表Git安裝成功。 二、安裝Heroku CLIHeroku是一個平台即服務(PaaS)的雲端平台,支援多種程式語言,開發人員能夠利用Git來部署應用程式,並且提供CLI(Command-Line Interface),可以透過指令來操作Heroku雲端平台的服務,提升部署的效率。
前往Heroku Dev Center,在開始安裝前,需先進行註冊的動作,依照指示即可完成,如下圖: 註冊並且登入成功後,在首頁左下角的地方可以看到「The Heroku CLI」,如下圖: 點擊後,往下就可以看到安裝的畫面,如下圖: 依據作業系統進行安裝即可。由於本文部署Python網頁爬蟲至Heroku雲端平台時,會使用到ClearDB MySQL及Heroku Scheduler(排程器)兩個附加的服務,所以,會需要先填寫信用卡的資訊,不過不用擔心,…

[Python爬蟲教學]輕鬆學會Python網頁爬蟲與MySQL資料庫的整合方式

Photo by Markus Spiske on Unsplash 在數據爆炸的時代,想要透過資料分析來取得其中有價值的資訊,就需要先獲取大量的資料,並且有效的儲存起來,如此才能夠進行多樣化的應用。而網頁則是最常見的資料蒐集管道,通常會利用API、Open Data(開放資料)或Python網頁爬蟲等技術來進行取得,那又該如何把這些資料儲存起來呢?
本文將以Yahoo奇摩股市為例,分享如何利用Python網頁爬蟲取得關注的股票資料後,存入MySQL資料庫中,讓後續能夠進行資料分析使用。其中的重點包含: Yahoo奇摩股市網頁分析建置Python網頁爬蟲建立MySQL資料庫建立MySQL資料表存入爬取的網頁資料 一、Yahoo奇摩股市網頁分析在進行Python網頁爬蟲開發前,首先來分析一下所要爬取的Yahoo股市網頁結構。前往Yahoo奇摩官方網站,在左側的地方可以看到「股市」的選項,如下圖: 進入Yahoo奇摩股市後,在上方即可看到股票查詢的功能,可以點擊右方的「台股代號查詢」,這時候會跳出一個小視窗,來選擇關注的股票,如下圖: 假設,選擇「2451創建」,則會顯示出當日的行情資料,如下圖: 在這個網頁中,有幾個部份是等一下開發Python網頁爬蟲時,所要取得的資料,分別是右上角的「資料日期」及「當日行情資料」,如下圖: 瞭解想要爬取的目標後,還有一個需求是,在一般情況下,用戶通常會關注一支以上的股票,如果要透過Python網頁爬蟲來自動化取得資料的話,該如何切換到另一支股票呢?
這時候可以看到上方的網址,最後都會帶有股票代號的參數,如下圖: 所以,Python網頁爬蟲只要替換這個股票代號,即可爬取不同股票的當日行情資料。 二、建置Python網頁爬蟲Yahoo奇摩股市網頁分析好後,接下來就可以進行Python網頁爬蟲的開發,其中本文使用物件導向的設計,詳細的觀念可以參考[Python物件導向]淺談Python類別(Class)文章。
首先,利用以下的指令來安裝Python網頁爬蟲開發時所需的套件: $ pip install beautifulsoup4 $ pip install requests $ pip install lxml
其中lxml為BeautifulSoup所支援的HTML解析器,執行速度較快且擁有較佳的容錯能力。
開啟開發工具,本文以Visual Studio C…

[Python+LINE Bot教學]快速掌握LINE Bot部署至Heroku雲端平台的重點

Photo by Štefan Štefančík on Unsplash 身為LINE Bot的服務提供者,為了每天能持續的提供使用者有價值的資訊,想必會想尋找一個24小時不間斷的環境來運行LINE Bot,而雲端平台就會是最佳的解決方案,不但擁有多樣的資源,也能夠依據使用量彈性擴充。
所以,本文延續[Python+LINE Bot教學]提升使用者體驗的按鈕樣板訊息(Buttons template message)實用技巧文章,將利用Django框架開發完成的LINE Bot部署到Heroku雲端平台,讓全世界的使用者都能夠存取您的LINE Bot服務,其中的部署重點包含: 安裝Git安裝gunicorn安裝Heroku CLILINE Bot專案設定LINE Bot部署至HerokuLINE Bot Webhook URL設定 一、安裝GitGit是一個版本控制系統(Version Control System),除了可以協助開發人員進行程式碼的版本控制外,在部署時也能夠將程式碼推送(Push)到Heroku雲端平台的Git Repository。
前往Git官網的下載頁面,依照作業系統進行安裝,如下圖: 安裝完成後,開啟命令提示字元視窗,輸入以下指令: $ git --version如果有顯示版本號,即代表Git安裝成功。 二、安裝gunicorn將LINE Bot部署到Heroku雲端平台時,在HTTP請求(Request)的處理上,就需要使用WSGI(Web Server Gateway Interface)介面,來負責網頁伺服器(Heroku雲端平台)與網頁應用程式(LINE Bot)之間的溝通,而Python的gunicorn伺服器就是扮演這樣的角色,如下圖: gunicorn伺服器可以使用pip(套件管理工具)來進行安裝即可,如下: $ pip install gunicornPython的pip(套件管理工具)詳細觀念可以參考有效管理Python套件(Package)的工具及概念文章。 三、安裝Heroku CLIHeroku是一個平台即服務(PaaS)的雲端平台,支援多種程式語言,開發人員能夠直接利用Git快速部署應用程式,並且提供CLI(Command-Line Interface),可以透過指令來進行操作,提升部署的效率。
前往Heroku Dev Center