fbpx
Python初學程式程式新手

Python初學總整理 第6講:爬蟲應用(下)

前言 哈囉,大家好,我是Teresa~爬蟲小專題的進度是上一集成功將Facebook的貼文載入,這集主軸就在蒐集貼文中有關於成效的資訊了。 其實在Google上搜尋相同的爬蟲目標,在各個網站中有很多程式碼可以參考,但Teresa真的是各種嘗試,卡了很多bug,挫折重重😰,還好後來隊友有幫助我修改程式碼,但還是希望總有一天能自己成功完成一個小專題。 上集回顧...... 爬蟲目標 抓取Facebook的貼文,展開貼文中所有留言與分享、表情符號數量,了解貼文的成效 達成方法 一、策略拆解 假設我想要手動取得這些資訊的話,會做出的行為有: 打開 Chrome 瀏覽器 開啟 Facebook 頁面並登入 點擊想分析的 Facebook 社團或粉絲專頁 將該社團或粉絲專頁的貼文載入 將貼文的留言展開 蒐集貼文的資訊(按讚數、分享次數以及留言數) 統整資訊 如何開啟Chrome瀏覽器、登入Facebook頁面、將貼文載入等前四步驟請參見Python初學者筆記EP. 5_爬蟲應用(上) 本集開始!…
Teresa
October 21, 2020
Python初學程式成長日誌機器學習

機器學習從零開始-簡單認識基礎概念 | Teresa初學者筆記

前言 嗨~我是Teresa,會有這篇筆記的產出是因為 10/29 會有一場蝦皮直播的線上小聚,主題是機器學習,這是 Teresa在正式開始學習Python前不斷重複聽到的應用領域之一,雖然印象很深,但對於這個熱門詞彙可以說是非常陌生,因此在聽蝦皮專家的分享前,想先對機器學習等相關知識架構先做一點基本功課。 活動資訊:https://pse.is/vk4jv 常見三大詞彙之間的關係 圖片來源:技術論壇 機器學習一詞常和人工智慧、深度學習一同出現甚至是混為一談,那三者之間的關係是什麼呢? 如果用一句話來解釋我想會是:「藉由深度學習等演算法技術可以建構出機器學習的手段以達到人工智慧的目的。」 什麼是機器學習Machine Learning? 機器學習通常可以這樣定義:「透過從過往的資料和經驗中學習並找到其運行規則,最後達到人工智慧的方法。」 白話來說機器學習是一種達到人工智慧的手段。透過程式讓電腦能夠從大量資料中學習到一個模式並讓它能對未接收過的資料做預判。 機器學習的根據? 從定義來看,機器學習需要很多過往的資料和經驗,大量資料也就是現在很熱門的話題之一:大數據。 很多時候光靠人力是看不出數據之間有什麼關聯性,數據中可能包含各種現象、事實與數字,但這些事實與數字是不需要提前被整理好的。而這些數據如果被輕易放掉是很可惜的,因此必須將數據轉為資料。 資料是能夠被「客觀」運算的最小單位,可用來作推論與計算。將資料有系統、有邏輯的整理過後就成為資訊,而資訊最後會被轉化成知識。這樣的過程可以被簡單分為五個階段:擷取資料、分析資料、洞察資訊、理解資訊、做決策(知識)。 大數據有4V的特性: 大量Volume:數據量越大,經過轉換所得出的模式越有根據,就如同做實驗時,樣本數越大,在相同的信賴區間下,可信度越高。 快速Variety:數據量大,且蒐集的資訊不斷的被更新,如果處理資料的速度不夠快,所得出的知識也會是過時的。 多樣Velocity:資料的種類是多樣的,可能包含基本資料、數據格式等等。 真實Veracity:不論你所用的技術多先進、過程做得再嚴謹,如果一開始的數據本身就不可信,那做出來的機器學習與得到的人工智慧都是空談,因此資料的真實(確)性是至關重要的。 從大數據演進到人工智慧,可以套用到狀況覺察理論 該理論的五大階段是:察覺→理解→預測→決策→行動(執行)…
Teresa
October 20, 2020
Python初學程式程式新手

Python初學總整理 第5講:爬蟲應用(上)

前言 自從上集學完函數和迴圈之後,覺得光只有學習,都可以理解好像沒有什麼問題,但如果要應用的話,就會不知道從何開始,因此Teresa開始想要嘗試寫個小作品看看,因此之後 Python初學者學習筆記會朝著實作的方向前進,當成自我練習還有紀錄。 爬蟲介紹 提到 Python,最經典且絕對不能漏掉的應用莫過於爬蟲了,那什麼是爬蟲呢? ---它是一種可以「自動」抓取網頁資訊的程式 現在資訊的變動快速,當在 Google等瀏覽器上搜尋任一關鍵字,搜尋到的結果都成千上萬筆,但人一天所擁有的時間終歸只有24小時,想要處理一件事的時候,很難將前置資料調查得盡善盡美,且當相同的動作必須重複上百遍、上千遍的時候,必定會又累又無趣。這時候如果有「自動化」程式的幫助,處理事情的效率便會提高。對於爬蟲的應用可以到這個網站看看。 爬蟲目標 抓取 Facebook的貼文,展開貼文中所有留言、分享數以及表情符號數量,了解貼文的成效 達成方法 一、步驟拆解 Teresa曾聽會寫程式的人說過:「程式只是工具,想要開始寫程式要先知道如何解決問題,如果不知道問題的解法,是沒辦法將解法化為程式的。」 如果我今天經營Facebook社團或粉絲專頁,我會想要了解每篇發出去的貼文成效如何,除了一些後台可得到的資訊外,貼文的互動率是最可以反應出成效的方式了。而在Facebook上貼文與互動率有關的指標不外乎就是:按讚數、分享次數以及留言數。後續的貼文分析,包含是不是因為主題較吸引人或是文案寫得較好等影響該篇貼文的互動率的評估指標,就不在此深究。 因此,假設我想要手動取得這些資訊的話,會做出的行為有: 打開 Chrome 瀏覽器 開啟 Facebook 頁面並登入 點擊想分析的 Facebook…
Teresa
October 13, 2020
初學程式小白學程式程式新手

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

上集聊完 DOM 基本概念和 JS 如何與 DOM 互動之後 Ex: innerHTML() , createElement() , appendChild() 等等 這集要來和大家介紹新手朋友看到就頭痛的「Callback function 回呼函式」,大家準備好了嗎?   看過第一、二集學習日記的朋友們應該都清楚:凡是在 JS 中所見即「物件」。所以,當我說函式 (function) 也是物件時,你應該覺得跟呼吸一樣自然🤙 但是,你有想過函式也能如同數值一般,作爲參數 (argument)…
iris
October 10, 2020
333 系列初學程式小白學程式程式新手

333系列|前端必備技能 🎯

距離我🙆‍♀️ 學習 JS 也有一段時間,不過心裡總是有一些不安全感和憂慮 這是我今天聽完前輩分享的心得,希望能幫助到面臨類似問題的朋友們   前端職場必備技能 前端變幻莫測  我該如何克服焦慮? 其實很多時候我都會覺得前端究竟有完沒完,技術似乎怎麼學都學不完也學不透、付出的努力和收穫不成正比... 最後陷入自我懷疑🤦‍♀️ (甚至有想換跑道的念頭),但每次回過神冷靜下來,還是決定堅持初衷繼續往前端邁進。不過,這樣的負面情緒的堆疊確實影響到我的學習狀況,尤其是每每一個新技術誕生,我就會 FOMO 恐懼發作立即感到焦慮深怕錯過什麼,回想幾個月前看到新技術眼睛發亮🙈  在仔細回想和思考前輩的話後,我利用一張 A4 白紙回顧了踏入前端這段日子我所累積的知識,譬如 HTML 網頁架構和標籤寫法、CSS 畫面編排和位置、Javascript 語法邏輯等等(回顧的過程需脫離當前專案和學習上的思緒,retrospect 前些日子所學,在紀錄時盡量組織化、簡單化複雜技術僅留核心)。回顧後驚覺,我所具備的技能不比想像少,但同時也察覺到我的技能漏洞,讓我知道需要強化和補足的地方,也使我免於無謂的焦慮和技能恐慌。針對這題還有一點我必須提及:身為新手(非資深)的我們不要急著想去征服知識、擁有對一個新技術全面的了解,這背後原因絕對不是因為你實力不堅強抑或能力不足,而是時間精力不允許。反而,練習如何用短時間掌握新技術的核心觀念才是我們應該培養的真能力。   想保有競爭力  …
iris
October 7, 2020
Python初學程式程式新手

Python初學總整理 第4講:Python條件、迴圈與函數

哈囉,大家連假過得還好嗎?我是Teresa,初學者學習筆記更新到第四集囉~EP. 3 介紹了Python中常見的資料型態以及運算子,這集要來整理的是條件語句、迴圈以及函數的概念,讓我們一起看下去吧~ 條件語句 Python中的邏輯條件(比較運算子請詳見EP. 3)可以通過多種方式使用,最常見的方式是 if 語句和迴圈 # if 語句 a = 37 b = 20 if a > b: #如果此條件為真 print( “ a…
Teresa
October 5, 2020
333 系列初學程式小白學程式程式新手

333系列 |接案 = 微創業?

如果渴望接案自己當老闆、自主決定上下班時間,且總是能在最舒適無打擾的地方工作,那你一定和我一樣思考過接案這條路   但,現實總是殘酷,看似輕鬆的工作背後的辛酸和不容易不是局外人可以想像的 不過這篇來自過來人的建議也許能夠替你點亮你接案路上的明燈,讓你少繞點路、多一點踏實   首先,你必須瞭解現狀   何謂瞭解現狀?現狀的瞭解包含了認識自己能力和個性的長處,與清楚自己職涯面的選擇和期許。以下分為三點做討論   正職乃無技術接案之母 對於無技術的朋友,你的第一步應是充實技能、培養專業能力。但在技能養成之前,不會建議新手直接接案來累積作品集,或是貿然將接案作為正職。比較建議的做法是:先轉職(轉到你有興趣接案的領域),在行業打滾三五年熟悉工作領域、穩定生活和經濟後再考慮接案(作為副業),到時待累積足夠能量和經驗後再由副轉正也不遲。   另一方面,有技術的朋友需要培養的是更加符合接案市場的技能(往往接案所需技能和用於求職的主流工具有一定的差距),和最重要的「企業才能」。所謂企業才能包含創意思維、溝通表達技術、合作手法和整合決策力,這些總總能力的積累都需透過觀察(大至世界傑出人物,小至上司管理者)和廣泛閱讀精進所得。   個性決定接案規模 了解自己的個性是求職的第一步。大多數人因為個性和工作性質的落差導致對於工作的諸多不滿,長期下來壓力、摩擦和負面能量成了離職的催化劑。避免工作和個人理念的衝突最好的方式為充分了解自己的個性和職涯的的滿足點,假如你總喜歡享受獨處時光,你可以考慮的單獨接案;但若是你非常需要夥伴的陪伴和幫助,也許你比較適合工作室合作接案,藉由不同角色之間的專業分工與相互搭配,團隊中的個人可以專注在擅長領域,免於受身份混淆之擾。最後,如果你的事業心蓬勃,你可以考慮將工作室擴展成為接案公司,容納更多接案者和接收更大量欄自四面八方的案子。   專長領你選擇角色 如上所述,團隊接案中有些許不同角色,這邊我們要來介紹幾兩個主要的接案角色。第一,專案執行者;第二,PM(專案管理者)。專案執行者即為我們想象中接專案的樣貌,專門負責寫code、串接 API、建 APP 等等工作;PM 角色略略不同,專案管理者從組隊、工作分配、協作溝通、決策推演都需要一手包辦,性質偏向管理者,但同時具備足夠的專案經驗以負責建立客戶和供給端的溝通橋樑。假如因為個性上緣故選擇單獨接案,那麼你需要面臨的最大考驗就會是「如何兼顧 PM 和專案執行者角色」,在時間和成效最大化情況下將專案順利完成。…
iris
September 30, 2020
Python初學程式小白學程式程式新手

Python 系列|Python 爬蟲新手篇

爬蟲第一步? 資料科學好難?    看完爬蟲懶人包,身為 Python 新手的我不禁手癢+心血來潮想了解更多爬蟲的資訊。 以下內容我不會重複太多懶人包的內容(防吉  大家多體諒~ 所以大家如果需要再自己去取用 這邊就不破梗嘍😝   首先,在理解一個新概念之前,最優先要處理的是「定義」 所以~ 回到主題 爬蟲到底是什麼?   網路爬蟲(英語:web crawler),也叫網路蜘蛛(spider),是一種用來自動瀏覽全球資訊網的網路機器人  --- 維基百科   以白話文解釋,網路爬蟲就是讓程式模擬人操作電腦的行為,利用自動化大量搜集特定資料的過程。再簡單一點說,就是寫一套程式,讓它幫你自動抓取特定資料   可想而知的是,網路上的資料漫漫且日異更新,要如何得到目標資料,擷取後再做進一步分析就是我們最大的爬蟲課題。所以許多網站才會告訴我們,爬蟲可能有的一些局限,包括錯誤爬取到無用內容、中文字難以檢索處理等等  …
iris
September 30, 2020
Python初學程式程式新手

Python初學總整理 第3講:Python資料型態和運算子

哈囉,大家好,我是Teresa,EP. 2統整了如何建置Anaconda開發環境、簡介Jupyter Notebook介面,也以簡單的程式碼示範了Python在執行語法的注意事項:縮排、變數以及註解。EP. 3 要整理的是資料型態以及運算子,讓我們一起看下去吧~同樣也可以跟著簡單範例操作看看哦~ 資料型態 為什麼了解資料型態很重要?在程式語言中,變數可以儲存不同類型的資料型態,不同類型的變數可以處理不同的事情。雖然Python沒有宣告變數的指令,但在預設的情境下,Python還是會默認變數的資料型態。如果想要知道某變數的資料型態是什麼的話,可以用 type( ) 函數。 a = “ Teresa” print(type( a )) 雖然Python會默認變數的資料型態,但還是可以用函數指定資料型態,舉例如下: 以函數建立變數 資料型態 直接將值給變數 x = str(“ My…
Teresa
September 26, 2020