fbpx
Python初學程式程式新手

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

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

Python初學總整理 第2講:Python開發環境

嗨,大家好,我是Teresa~EP. 1 簡單介紹了Python的簡介、優缺點以及可應用領域之後,EP. 2 要來建置我所選擇的開發環境:Anaconda、編輯器Jupyter notebook 以及 Python在執行語法時的注意事項,大家可以一起操作看看哦。 建置開發環境 我所選擇的開發環境是Anaconda套件組,原因是Anaconda就像是Python的資訊包,裡面除了Python本身,還有許多常用的模組、套件還內建Jupyter Notebook編輯器。這個開發環境也是免費且開源的,且支援Windows、MacOS、Linux平台。 安裝Anaconda Step 1:瀏覽器開啟Anaconda 官網,點選Download Step 2:下載檔案分為Python 3.x及64位元、32位元兩種版本,可以先看電腦的配置再依照需求點選適當版本 Step 3:點選下載好的<Anaconda3-2020.07-Windows-x86_64.exe>開始安裝 Step 4:點選Next > Step 5:在版權頁面點選…
Teresa
September 21, 2020
Python初學程式程式新手

Python初學總整理 第1講:Python簡介

前言 2020年TIOBE程式語言排名,第一名是Java,第二名是C,而第三名的Python是從2019年開始超越C++,也就是說Python成長快速且越來越熱門。 資料來源取自:HelloGitHub 早期的程式語言為了讓電腦看懂並發揮它十足的能力,讓程式語言變得艱澀難懂。 Python的出現受到許多人的喜愛,到底Python有什麼吸引人的特點呢?它又能拿來做什麼呢?讓我們繼續看下去吧! Python簡介 Python的創始人是Guido Van Rossum,在1989年聖誕節期間的阿姆斯特丹,他為了打發時間,決定開發一個新的程式,來做為ABC語言的後繼,有趣的事情是之所以會用Python(原為蟒蛇之意)取名,是源自於他喜歡BBC電視劇——Monty Python馬戲團。 ABC語言是一種程式語言與編程環境,語言的目的是在教導非專業的程式設計師學習如何開始寫程式,Python的創始人曾為ABC系統工作了好幾年,以他的視角來看,ABC語言既優美又強大。但他為什麼要另外開發Python呢?他認為ABC語言沒有成功的原因,追根究柢是因為程式碼非開放,因此他決定Python要避免這樣的錯誤,以現今的結果來看,開發過程漸趨透明,社群也對開發進度做出了極大的貢獻,這樣的決定確實取得了非常好的成果。 Python版本: Python v2.7(2020年結束維護): 實現完整的垃圾回收且支援Unicode,可以將未來不會被存取的程式回收,歸還記憶體空間,減少程式的錯誤外,也能減輕程式員的負擔。 Python v3.5(2008年12月3日發布) Python v3.8(最新版本): 從3.0開始Python的原始碼並不完全相容,因此如果從現在開始學Python的話,可以直接從最新的版本開始學。但最重要的事情還是:了解自己想要用程式解決什麼樣的問題,找到相對適合的程式語言。 Python特點 優點: 簡單易學易用:Python語法簡單易讀,就像閱讀通用的語言,因此當程式出現錯誤時,大部分只要專注於解決問題的邏輯本身,可以省下檢查語法錯誤的時間,但又不會喪失Python對語法的嚴格要求。 免費開源:Python開放原始碼,可以自由的copy套件、閱讀、修改原始碼,把前人的成果用於新的成品中。 可移植性:由於Python開源的特性,它不需要經過修改就能在不同平台(Windows、MacOS、Linux……)上運行。…
Teresa
September 15, 2020
Python初學程式

Python 常用時間數據類型擴充站

前言 此篇文章將會簡單補充 Python 中時間模組的應用,希望能用最短的時間讓新手們 pick up Python 的時間相關模組~ 大綱 時間模組:處理時間格式化需求。 日曆模組: datetime模組:獲取當前時間使用。 一. 時間模組 Python中導入時間模組,語法如下: 範例運作:https://repl.it/@dreamline2/time-module#main.py 獲取當前時間戳 https://gist.github.com/Celia-code/a2f32929b5e63be580b1e19eb244b736 2. 獲取時間元組:獲取當前時間並以元組方式呈現 https://gist.github.com/Celia-code/bb82846b356756e440861fdfcc6f0fb7 3. 獲取格式化時間:時間戳變成格式化時間:time.ctime( ) https://gist.github.com/Celia-code/9a2e1938bc050ba6a65045e39e6a0961…
celia
May 15, 2020
Python初學程式小白學程式程式新手

Python 常用數據類型 – 集合

前言 什麼是集合? 集合(set)是一個無序且不重複的元素集合。但是因為集合本身是無序的,所以不可為集合創建索引或執行切片(slice)操作,也沒有鍵(keys)可用來獲取集合中元素的值。 set和dict一樣,只是沒有value,因此set也有如下特性: 不可重複 元素為不可變對象 大綱 創建集合 常用操作   一.創建集合 集合創建需使用大括弧 { } 或者 set() 函數創建集合。 ※ 注意:創建一個空集合必須用 set() 而不是 { },因為 { }…
celia
May 15, 2020
Python初學程式

Python常用數據類型 – 字典

前言 為什麼需要字典: Python中存儲一組相關的數據,例如:存儲一個人的資料,資料中有name、age、birthday等...。如果這些資訊都存儲在列表或元組中:比如,想獲取name,需先知道其在列表中的索引值,那麼使用起來就不是很方便。比較方便的操作為:直接透過 name 這個關鍵字就可以取得值,那麼就可以利用字典的方式實現這樣的需求。   大綱 字典基礎 常用操作   一.字典基礎 1. 創建字典:     字典內儲存元素的方式是以「鍵(Key) - 值(Value)」對來保存,共有以下兩種方式: 方式一:利用大括號 {  } 來創建字典 https://gist.github.com/Celia-code/502294bacce03ee5a18fa22574b0ad18 方式二:利用dict函數 https://gist.github.com/Celia-code/227798aac0b446ef6c4477eb04d34c6e…
celia
May 11, 2020
Python初學程式

Python 常用數據類型 – 元組

前言 什麼是元組? 元組的使用與列表相似,不同之處在於元組是不可修改的,元組使用圓括號(  ),而列表使用中括弧。 大綱 定義元組 常用操作 一.定義元組 1. 使用逗號的方法: https://gist.github.com/Celia-code/0258748256705e006d27f2b8cd75129a   2. 使用圓括號的方法: https://gist.github.com/Celia-code/41a5d8e11450757f92269a2c0ad49fb2   3. 使用tuple函數:     範例:將一列表轉換為元組 https://gist.github.com/Celia-code/e36efa69ab3bf26aa5e85512a9a88439   4. 定義只有一個元素的元組:…
celia
May 11, 2020