fbpx
Python初學程式程式新手

Python初學者筆記EP. 7_套件介紹-Matplotlib

嗨~各位好,我是Teresa,這集想要和大家介紹Python中實用的套件-Matplotlib,原因是如果心中有個想法想要去實踐,雖然有資料,但需要說服夥伴的話,將你手中擁有的數據轉為圖表是很重要的,這樣一來,你說的話有說服力,觀看者也能簡單易懂。那我們就開始吧! 什麼是Matplotlib? Matplotllib是Python的視覺化套件,可將資料視覺化,也可以稱做繪圖庫,可以和NumPy一起使用。它是由約翰.亨利所創造的,不但開源,且各個平台間也具相容性。Matplotllib的代碼庫在此 github。 如何使用Matplotlib? 要開始使用Matplotlib,就如同其他模組和套件一般,要先安裝並匯入。 pip install matplotlib #安裝 Matplotlib import matplotlib import matplotlib.pyplot as plt #匯入Pyplot 套件並命名為plt 安裝成功後就可以畫圖囉! 繪製 x 和 y點 import…
Teresa
November 11, 2020
直播筆記

Python網頁爬蟲—將資料存到SQLite資料庫

任務:把上週爬取每週文章的標題和發佈日期存到SQLite資料庫 前言 用Python網頁爬蟲取得資料後,最後一個步驟,會想把資料存到資料庫裡,今天以SQLite為例分享實作部分。 為什麼我要用SQLite? SQLite是非常輕量型的關聯式資料庫,所以比較適用於小型應用程式,比如APP,存放資料量沒那麼大的應用程式,也是跨平台資料庫,它和一般企業級資料庫(Mysql......),最不一樣的地方是企業級資料庫都會有server,server也就是資料庫,用戶端這邊通常就要安裝,這個資料庫的客戶端,有點像是小的驅動程式,那我們要存取資料庫的時候,就是要用客戶端去跟資料庫的server進行存取還有資料的操作。那SQLite資料庫非常簡單,就是安裝後,用戶端就可以直接執行,可以直接存取資料庫裡面的資料,簡單來講,一個資料庫就是一個檔案,雖然輕量型,但大部分.sql的語法都有支援,而且也是一個免費的資料庫。 第一步驟:安裝DB Browser for SQLite,用這個工具去建立資料庫 建立一個資料庫,然後在資料庫裡建立一個資料表,命名為post。在資料表裡定義儲存的欄位。先建立一個title的欄位,它的類型是text(字串),再建立一個來存發布日期的欄位publish,一樣定義類型是text(字串) 在爬蟲專案資料夾底下新建資料庫,存檔 第二步驟:使用python串列的資料結構來進行儲存,把資料打包成包裹 定義result串列,每次爬到標題和發佈日期後,就要把它存起來,存到串列裡。👩🏻‍💻results.append((title.getText().strip(),) + (published.getText().strip(),)) 把每一篇文章的標題和發佈日期打包成元組(tuple),如果只有一個值最後要加逗點,這樣python才知道這是一個元組(tuple) 把標題和發佈日期加入串列裡面(results.append),append是加入的意思(有for就會把每次標題和發佈日期全部都加入串列裡) 🔍元組的賦值:a,b = 1, 2 第三步驟:寫入sq資料庫 sq資料庫內建在python裡面,直接👩🏻‍💻import sqlite3這個模組,接下來把網頁爬蟲專案連結到資料庫,用👩🏻‍💻conn =…
amyamy
November 10, 2020
Podcast 系列初學程式小白學程式程式新手

Podcast JS 特輯 #1|魔鬼藏在細節裡 — 你真的了解變數嗎?

https://open.spotify.com/episode/6qzhzsD65TWVHNc10jbNhC 變數的概念好簡單? 的確,真的不難,但有非常多概念關乎到 Javascript 基本功的扎實度,這也是身為初學者必須注意和掌握的地方 這集 Podcast 會和大家聊的是 JS 變數的基本邏輯,包括定義、指派等等,更會討論到雙重指派和 hoisting 的情況下會產生哪些奇特的狀況,當然我們不免會提到的是 JS 身為動態型別語言的特性&原理和 hoisting 的背後隱藏邏輯~    其他針對變數定義上的建議上相對而言與定義上的規定同等重要,譬如說怎麼樣才是好的變數命名法和怎麼樣才符合 JS 中變數的定義標準等等都是直得留意的地方。另外,最後也和大家提到 ES 6 中 let 和…
iris
November 9, 2020
Podcast 系列初學程式小白學程式科技新知

Podcast #15|全美最狂資料研究公司 Gartner 的 2021 科技宣言

https://open.firstory.me/embed/story/ckh7803sd7yz10878y12dtifi 萬眾矚目的 Gartner 預測又出來了!不知道大家有沒有第一時間接收到這個科技消息,如果沒有也沒關係~ 小白和小白學長用一集的時間把 2025 之前需要用到的核心技術全部轉交給你   本集 Podcast 會粗略分為 4 個部分分享,分別是「以人為本 (People Centricity)」、「雲端化」、「安全問題」和「自動化」,其中我們也會針對 IoB (行為聯網)、TX 全面體驗、分佈式雲 (distributed cloud)、隨處運營、網路安全 (cypersecurity)、隱私增強運、超自動化 (hyperautomation) 和 AI 工程做分別簡單但實用&白話的探討,自詡身為站在時代和科技尖峰的朋友們必須要理解並熟悉這些看似生硬的專有名詞,這些知識一定會在你意想不到時派上用場(和朋友炫一下也是不錯啦~)…
iris
November 8, 2020
Podcast 系列初學程式小白學程式科技新知

Podcast #14: 每個程式語言都受用的神邏輯

https://open.firstory.me/embed/story/ckh4wenwe10eq08915tvzb4pr 如果你問我,邏輯可以用來做什麼? 我會毫不猶豫地和你說,邏輯可以征服全世界。掌握邏輯不僅可以清楚表達、免於被政治人物與新聞媒體誤導、方便與人辯論挑人語病(誤😝),還可以拿來寫程式呢😎  那就話不多說進入我們的 Podcast 節目聽聽吧!   本集的程式超級白將圍繞在「邏輯」和大家分享和討論 🤩,在此和大家預告節目中會提及的內容,「基本邏輯:若 P 則 Q ;若非 Q 則非 P」、「充分&必要條件之別」、「所有程式誒言共通 syntax:條件式 (if-else-elseif)、迴圈」、「淺談語法糖」🤩   Food for Thought: 大家不妨思考看看你正在學習的程式語言有哪些核心概念,而那些概念與生活中邏輯的加插點在哪?🙂 (也許多層面的思考會激盪出你的程式腦和暢通思路)  …
iris
November 8, 2020
Podcast 系列初學程式小白學程式科技新知

Podcast #13: 你能想像被 AloT 技術攻佔的世界嗎?

https://open.firstory.me/embed/story/ckh1hcb4lx5bb0836rmx4qsvy 你能想像身邊的所有東西通通連上網嗎? 沒錯,我們在講的就是物聯網 (IoT) ,但相信身為讀者的你早已聽膩 IoT,所以我們今天要談談當 AI 遇上 IoT 的精彩火花 🎉   本集的程式超級白將會圍繞在三大主題 🤩,分別是「什麼是 AIoT? 」、「AIoT 和 5G  的超強結盟」和「AIoT 的各方面應用(智慧家電)」  👉 前情提要(無爆雷):驚喜橋段之特斯拉 CEO 馬斯克的腦機介面 nueralink、ET…
iris
November 8, 2020
初學程式小白學程式成長日誌程式新手

網頁日記 # 6|Iris 程式小白

上週實作完徒手刻下拉式選單,這禮拜要來介紹偷吃步 —— 使用現成的 Bootstrap 來製作~ 但也別怪我這麼晚介紹這麼好用的功能,畢竟學習還是要從基本功開始一層一層堆疊上去 首先,你一定會問到:什麼是 Bootstrap 呢? 根據官網定義,Bootstrap 是一個利於快速製作響應式網站 (responsive web) 和致力於行動優先 (mobile-first) 的框架,它裡面用到的技術不外乎 HTML, CSS 和 Javascript,也就是前幾集介紹過的那些東西。   在做前端的人應該多多少少聽過 RWD (Responsive Web…
iris
November 7, 2020
Podcast 系列初學程式小白學程式科技新知

Podcast #11: 區塊鏈其實沒這麼複雜!

https://open.spotify.com/episode/7njN4SOaTCfdCcdDXzoF59 區塊鏈 (Blockchain) 誕生於 2009 年中本聰的比特幣 (Bitcoin) 白皮書,經過比特幣、以太幣的洗禮,於 2018 年有顯著成長,並由美國顧問公司 Gartner 預測於 2025 達到技術面的成熟。 本集會談到區塊鏈的起源、原理,也會由拜占庭將軍問題帶入到區塊鏈的核心特性——去中心化(分散式帳本)、密碼學基礎、不可竄改性和共識決智慧合約(防偽低違約風險),這也帶到了其他層面的區塊鏈應用,譬如加密貨幣 (IOTA)、金融科技、音樂、Podcast 等等跌破眼鏡的新發展。號外,小白學長更會用簡單的舉例來讓大家更了解公私鏈、加密、雜湊函數等艱深字詞,也歡迎大家多多收聽支持👍 如果對區塊鏈有任何問題都可以在以下留言中提出~😍 也歡迎關注程式超級白以接收更多科技&程式新知唷~   區塊鏈三大主題探討: 虛擬貨幣有哪些必要特質? 2:10 區塊鏈是什麼 7:40…
iris
November 3, 2020
直播筆記

Python網頁爬蟲—開發你的第一個網頁爬蟲

任務:爬取INSIDE硬塞網路趨勢觀察網站的文章標題和發布日期 第一步驟:安裝3個套件 request:發送請求到伺服端 beautifulsoup:解析伺服端回傳的網頁內容,也就是網頁原始碼。裡面內建的html解析套件,所分析出來的網頁原始碼有時候沒那麼準確,所以建議大家用lsml套件 lxml:解析xml、html原始碼的強大套件,解析出來的內容相對準確 第二步驟:網頁內容html原始碼的分析 在要爬取的地方按下滑鼠右鍵>檢查,chrome瀏覽器就會開啟開發人員工具,當你滑鼠停在哪邊它就會變色,這就是你在網頁上的位置 要爬取「INSIDE硬塞網路趨勢觀察網站」文章標題:它的網頁原始碼是h3,它的class是post_title,那等下要爬取時就是用h3這個html的標籤,而且它的class是post_title,這樣就可以定位到這個網頁的所有文章標題 要爬取「INSIDE硬塞網路趨勢觀察網站」發布日期:它的位置是hli的標籤,它的class是post_date的標籤,所以等下定位的時候,就是利用這個方式進行定位 第三步驟:以visual studio code為例開發網頁爬蟲 建立demo的資料夾 在資料夾底下建立scraper.py的檔案(python的檔案) 引入所需要的套件: beautifulsoup request:發送請求到網頁伺服端 get:去查詢網址的網頁內容,括號內寫入要傳的網頁網址,發送請求給伺服端後,它就會把這個網址的網頁內容回傳給我們,所以回傳給我們就要利用一個變數把它接起來(response) 用print的方式來看一下這個網頁的內容➡️回傳html原始碼,上面都帶有資料 第四步驟:把資料丟到beautifulsoup裡面請它幫我們解析 建立一個beautifulsoup套件,把剛剛所得到的網頁原始碼,丟給它來建立一個soup物件,有這個soup物件我們就能利用它來進行元素的定位。beautifulsoup要指定一個解析器來幫助它解析html原始碼,所以後面要加lxml 【爬取文章標題】 首先要取到一整頁文章的標題,所以就可以用find取得文章的標題,丟給它建立一個soup套件。在第二步驟有看到這個網頁上的標題標籤是h3,class是post_title的類別,同樣用個變數接起來(title)。➡️取得一個文章標題。(若不想要這些html的標籤,就可以用beautifulsoup的getText的方法把html的標籤給去掉) 如果想要抓到多篇文章,就要寫find_all,找到所有只要標籤是h3、類別是post_title的標題,這時候print出來的東西➡️是一個串列包含多個文章,所以要用for迴圈的方式來讀取每一個標題的元素,再一一利用getText的方法把html的標籤給去掉(不喜歡空白可以用strip把空白清掉)➡️爬取所有文章標題 【爬取發布日期】…
amyamy
November 3, 2020
電台節目

Podcast #13: 你能想像被 AloT 技術攻佔的世界嗎?

https://open.firstory.me/story/ckh1hcb4lx5bb0836rmx4qsvy 你能想像身邊的所有東西通通連上網嗎? 沒錯,我們在講的就是物聯網 (IoT) ,但相信身為讀者的你早已聽膩 IoT,所以我們今天要談談當 AI 遇上 IoT 的精彩火花 🎉 本集的程式超級白將會圍繞在三大主題 🤩,分別是「什麼是 AIoT? 」、「AIoT 和 5G 的超強結盟」和「AIoT 的各方面應用(智慧家電)」 👉 前情提要(無爆雷):驚喜橋段之特斯拉 CEO 馬斯克的腦機介面 nueralink、ET 小灰人、小白&學長創業…
wilson
November 3, 2020

學程式主題社群回顧