發表文章

目前顯示的是 10月, 2021的文章

JavaScript程式設計規範

JavaScript程式設計規範 前言 程式設計規範是編程的風格指南。它們通常包括: 變量和函數的命名和聲明規則。 空格、縮格和註釋的使用規則。 編程實做和原則。 程式設計規範確保質量: 提高代碼可讀性。 讓代碼維護更簡單。 大綱 變量和函數的命名 運算符前後空格 代碼縮格 語句規則 物件規則 語句長度< 80 個字 命名規範 在 HTML 中加載 JavaScript 存取 HTML 元素 文件擴展名 文件名使用小寫 註解 comment 避免全局變量 開頭聲明 初始化變量 不要使用 new Object() 小心自動類型轉換 盡量使用 "===" 比較運算符號 使用參數默認值 用默認值結束你的 switch 避免將數字、字符串和布爾值作為物件 變量和函數的命名 使用 駝峰(camelCase) 命名法作為變量和函數的命名。 所有名字都以字母開頭。 若是有幾個分別意義的幾個字組合的詞,第一個字開頭小寫,後幾個字開頭用為大寫。 firstName = "John"; lastName = "Doe"; price = 19.90; tax = 0.20; fullPrice = price + (price * tax); 運算符前後空格 始終在運算符 ( = + - * / ) 和逗號之後放置空格。 let x = y + z; const myArray = ["Volvo", "Saab", "Fiat"]; 代碼縮格 始終使用 2 個空格來縮進代碼區塊。 function toCelsius(fahrenheit) { return (5 / 9) * (fahrenheit - 32); } 不要使用 Tab鍵 進行縮進。不同的編輯器對 Tab鍵 的解釋不同。 語句規則 簡單語句的一般規則: 總是以 分號 ";" 結束簡單的語句。 const cars = ["Volvo", "Saab", "Fiat"]; 複合語句的一般規則: 將左括號放在第一行的末尾。 在左括號前使用一個空格。 將右括號放在一個新行上...

VSCode安裝與使用

圖片
VSCode安裝與使用 大綱 下載安裝 VSCode 在 Windows 上 建立專案目錄、開啟VSCode 安裝 Python 相關擴充插件 選擇 Color Theme主題外觀 客製化設定 好用的 Extension 擴充插件 General 通用 Coding AI Assistant Html/CSS JavaScript Python Flutter/Dart Excel BackEnd/Database Shotcut 快捷鍵 General通用 檔案、目錄 編輯 Navigation Display Emmet/Html Doc FAQ-VSCode 前言 Visual Studio Code 簡稱 VS Code,VS Code 是一個由微軟開發 IDE,支援各平台的免費程式碼編輯器,它支援測試程式、Git 版本控制、代碼補全、豐富的插件 ...... 等等常用功能,幾乎可以開發任何程式語言,實用工具非常多,全球使用者佔據絕對優勢,並且奪得了 2021 年 StackOverflow 上的使用者統計第一名。 下載安裝 VSCode 在 Windows 上 安裝非常簡單,網路上也有非常多的介紹文章,這裡就不做詳細介紹了。 1:雙擊 下載  選擇合適的版本後,執行安裝,以安裝 Windows 版本為例。 2:勾選同意,然後點擊下一步。 3:選擇安裝位置,我這裡選擇的是D盤  4:下一步  5:勾選創建快捷方式,下一步  6:點擊安裝,開始安裝  7: 等待安裝結束。 另外,VSCode 也有網也版本,詳細說明請參閱► 2021/10/22微軟發表網頁版VS Code(外連結) 。 建立專案目錄、開啟VSCode 我們在 C:\Users\Administrator\Desktop\Code\Python\ 路徑下建立一個 Folder 目錄  startUp。點擊滑鼠右鍵,用 VSCode 開啟: 安裝 Python 相關擴充插件 開啟後,我們先安裝必須且常用的 Extension 擴充插件。 點選 Extension 擴充插件圖示,安裝必須且常用的擴充插件。 左下角顯示預設的 Python 版本,表示安裝成功。 右邊大區塊的...

VirtualBox的虛擬主機網路設定

圖片
VirtualBox的虛擬主機網路設定 前言 這裡介紹如何調整 VirtualBox 的網路設定,讓開發者可透過網路連線至虛擬機器做測試。 大綱 虛擬機連網設定步驟 Virtual Box 網卡的幾種設定模式 虛擬機連網設定步驟 步驟 1 假設我們已經安裝好了一個新的 Linux 虛擬機器,此時從「檔案」中點選「主機網路管理員」 步驟 2 在主機網路管理員中,建立新的子網路。 步驟 3 在 VirtualBox 的主要控制畫面上,選擇測試用的 Linux 虛擬主機,然後點選「設定值」。 步驟 4 選擇「網路」的設定籤頁,在這裡可以設定虛擬主機的網路卡,通常第一張是預設以 NAT 上網的網路卡,所以不要更改第一張的設定,否則到時候對外連線容易出問題。 在「介面卡 2」的地方,勾選「啟用網路卡」,選擇「僅線主機」介面卡,名稱的地方就選擇剛剛上面新增的子網路。 這樣就完成 VirtualBox 的設定了,接下來就可以打開虛擬機器,讓虛擬機器裡面的 Linux 自動透過第二張網路卡取得 IP 位址,與實體的本機連線了。 如果不想要每次開機都確認 DHCP 抓到的 IP 是那一個,可以將上面子網路的 DHCP 伺服器功能關閉,並調整虛擬機的網路設定,將 IP 位址設定為靜態的,這樣就可以把 IP 固定住 Virtual Box 網卡的幾種設定模式 有關網卡幾種設定模式: Not Attached  NAT (Network Address Translation) NAT網路(Network Address Translation Service (experimental)) 橋接介面卡(Bridged networking) 僅限主機介面卡、Host-only Adapter模式(Host-only networking) 內部網路 (Internal Networking) 通過這張圖就很容易看出這4種方式的區別。 詳細說明請參閱:► VirtualBox Network Settings: Complete Guide 、 徹底理解Viutual Box四種網路連線方式(外連結) 參考資料 特色、摘要,Feature、Summary: 關鍵字、標籤,Keyword、Tag: Virtual-Box,Ubuntu,Linux,Networ...

作業系統、瀏覽器通用快捷鍵

圖片
作業系統、瀏覽器通用快捷鍵 前言 你可能也不知道的經典小技巧:看網頁看了十年,卻不知道 Ctrl+F/Command+F 為何物? Ctrl+F/Command+F 人人都曉得用搜尋引擎鍵入關鍵字搜尋網頁,但不見得都能從文章中快速找出需要的內容, Google 搜尋專家 Dan Russell 指出有大部分網路使用者不會用「Ctrl+F /Command+F」這種基礎搜尋功能,只會逐行掃描文章找出關鍵字,費時費力。 Ctrl+F組合鍵,是在Windows 作業系統上的,而 Command+F 是在 Mac OS 上的組合鍵。 可以用在文件中搜尋關鍵字串。 Word、Excel Ctrl+F 搜尋功能 也可用在瀏覽器中搜尋文件中的關鍵字串。 透過 Ctrl+F能快速在文章中搜尋到關鍵字 作業系統、瀏覽器通用快捷鍵: Ctrl+F(或直接按F3):開啟搜尋功能 Ctrl+A:全選 Ctrl+X:剪下 Ctrl+C:複製 Ctrl+V:貼上 Ctrl+Z:還原 Ctrl+P:列印 Ctrl+滑鼠左鍵:以新分頁開啟連結網頁 Shift+滑鼠左鍵:以獨立新分頁開啟連結網頁 Ctrl+R(或直接按F5):重新整理網頁 Ctrl+T:開啟新分頁 Ctrl+W:關閉分頁 Ctrl+Tab:切換分頁 Ctrl+D:將網頁加入書籤、我的最愛 Alt+D(或直接按F6):移到網址列 Alt+Tab : 切換工作室窗 F11:切換全螢幕 參考資料 特色、摘要,Feature、Summary: 關鍵字、標籤,Keyword、Tag: ToolsWorkingLearning,Tools,Shortcut,

如何安裝配置Python開發環境

圖片
如何安裝配置Python開發環境 前言 程式設計最讓人頭痛想放棄的癥結點,很多時候是搞定開發環境跟工具,也就是一開始被架構好,後面的工具、套件安裝時就會出現許多問題。另外,每個人使用的硬體跟軟體規格版本不一,常常會出現相容性議題。 大綱 在 Windows 安裝 Python 執行環境 Python IDE 整合開發工具 在VS Code上設置 Python 編程環境 在Windows 安裝 Python 執行環境 連到Python官網的Windows下載頁面 Python 官網的 Windows下載頁面 勾選「Add Python 3.X to PATH」 進行安裝的第一個畫面中,先勾選「Add Python 3.X to PATH」然後再按「Install Now」繼續安裝程序。 按一下「Close」就完成了 當看到這個畫面,按一下「Close」就完成Python執行環境的建置了。 確認安裝完成 在終端命令行輸入 "> py -V ",確認安裝的 Python 版本。 Python IDLE Python有兩種介面。Python IDLE,是一個整合型的編輯器。 Python Terminal 另一種是 Command Line, 終端機模式。 模組安裝 安裝模組的指令為「 pip install <模組名稱> 」,例如想安裝「requests」模組的話就輸入「 pip install requests 」後按鍵盤上的「Enter」即可。 模組的導入 模組安裝之後就可以引用,而引用的指令為「 import 」。例如若要在開發程式時引用requests模組,就在開頭加上「 import requests 」就行了。 Python 開發整合工具 雖然以上下載 Python 原生環境就可以執行 Python,但是選擇自己合適的 IDE (整合開發環境),是開發專案不可或缺的選項。 以下是推薦常用的  IDE : VS Code : VS Code為微軟開源的編譯器,豐富的插件已經澎湃到幾乎可以開發任何程式語言,實用工具非常多。 Colab : Colaboratory (簡稱為「Colab」) google的雲端 Python 筆記本,每個筆記本都是一個 Linux 虛擬機,還可以結合雲端硬碟IO,更可以...

錯誤(errors)發生與效能低落的處理

圖片
錯誤(errors)發生與效能低落的處理 前言大綱 在開發過程中會出現各種錯誤,重要的是找出並解決錯誤發生的原因。對初學者而言,就算看到了錯誤訊息,也完全不知道原因何在,更不用說檢討了。最簡單的解決方法是,利用全世界的智慧,也就是以 雙引號 “….”  將一部分,或全部錯誤訊息框起來,使用在雙引號中的中間的關鍵字來做 Google 搜尋。 “一部分,或全部錯誤訊息” 使用Google搜尋時,有的時候是用 Google中文、英文網站切換來搜尋結果,也因為會不一樣。因此,錯誤訊息中含有中文的時候,請將中文的部分刪除後,再進行搜尋。 還有,Linux會將逐次錯誤日誌寫入 /var/lob/dmesg 檔案中。請將相關部分擷取出來到檔案中進行搜尋。這個雖然難度稍微高一點,也請嘗試做做看。 如果就是解決不了問題,那要怎麼辦呢 ? 我們做法是不在這上面花太多時間,轉而思考別的方法。 舉例說,Ubuntu 共享資料夾功能,若是不能順利設定時,可以從瀏覽器用Gmail傳送檔案。 另外初學者最容易發生的問題是,明明照著書上寫的做,還是無法順利進行。這是因為使用的電腦和OS的細部版本的不同,會使問題發生變化。另外,嵌在 OS 裡的裝置驅動程式與其中的晶片也會使問題發生變化。 因此解決問題的王道就是 :  分別以英文與中文在Google上搜尋,找出發生同樣問題的人及解決方法。 盡量嘗試各種解決方法就對了。 冷靜下來想想有沒有別的方法。 為了以防萬一電腦的重要檔案一定要備份。 Windows 會一直累積垃圾檔案 ,所以要在 "我的電腦 '=>硬碟=>內容=>點擊右鍵,開啟執行清理磁碟。另外,還可以在 Windows "開始" 選單的 “搜尋程式與檔案” 或 “搜尋” 中輸入 “%tmp%”,然後將不要的檔案及資料夾全部刪除。 在 Explorer 的電腦或 PC 上,點擊右鍵,開啟”內容”,點擊 ”系統的詳細設定” ,點擊 "效能" 的 "設定" 鍵,點選 "效能優先"。 累積太多的復原點(Restore Point) 資訊 的話,會佔去磁碟容量,請在Explore 等處的磁碟 “內容” 上,點擊右鍵開啟,執行 “清理磁碟” ,點擊位於 "磁碟清理...

如何在Ubuntu上安裝Arduino IDE

圖片
如何在Ubuntu上安裝Arduino IDE 前言大綱 Arduino軟件或IDE(集成開發環境)包含一個文本編輯器,通常用於在Arduino硬件中編寫,編譯和上傳代碼。它有助於連接和與Arduino硬件通信。 Arduino IDE可以在所有主要操作係統平台(例如Linux,Windows和Mac OS)上運行。它適用於32位和64位OS平台。 在本文中,我們將逐步介紹在Ubuntu上安裝Arduino IDE的步驟。我將使用 Ubuntu 20.04.2 LTS來描述該過程。但是,可以在舊版Ubuntu中使用相同的步驟進行安裝。 下載Arduino軟件 首先,您需要從 Arduino官方網站的下載 Arduino IDE(外連結)  軟件包,選擇適當的作業系統版本32位或64位,下載至資料夾 "Downloads" 後並將其解壓縮。 安裝Arduino IDE Step 1 現在,您將需要安裝Arduino IDE。要準備安裝,請導航至資料下載夾。您將需要解壓縮下載的Arduino存檔文件夾。開啟終端,可以按Ctrl + Alt + T組合鍵 : Step 2 然後運行以下命令導航到 "Downloads" 資料下載夾: $cd /home/username/Downloads    // 以我為例 : $cd /home/aron/Downloads  Step 3 要解壓縮存檔的文件夾,請在終端中運行以下命令: $tar -xf [Compressed-filename]  // 此例為 : $tar -xf arduino-1.8.16-linux64.tar.xz Step 4 然後在終端中運行以下命令以導航到剛剛解壓縮的Arduino文件夾: $cd [Uncompressed-foldername]    // 此例為: cd arduino-1.8.16-linux64 您可以在終端中輸入ls –l來查看Arduino文件夾中的文件列表並找出我們將要安裝的安裝文件。 $ls -l Step 5 現在我們準備安裝Arduino。以sudo的身份在Terminal中運行以下命令以安裝Arduino。 $...

AIoT軟體開發架構

圖片
AIoT軟體開發 一般來說有軟體控制硬體 AIoT 的裝置開發時,要利用 Arduino 開發環境,並最大限度地靈活運用開放原始碼,習慣之後可以在一小時以內就能完成裝置的開發 。 最常被使用的 AIoT 裝置軟體開發方式分為以幾個步驟 : 決定要用 AIoT 裝置做什麼事 ,AIoT 的功能要盡量可能的單純,較難的部分就交給應用程式。 依照你要做甚麼事,找合適的 Arduino 開放原始碼程式庫 :  首先在 Arduino IDE 工具=> 管理程式庫 ,尋找範例。 接著到 ► 官網函示庫 Arduino Libraries(外連結)  找。 最後到網路上搜尋 ,例如要找 WiFi 功能,進行搜尋 : "arduino wifi library" 或 "arduino wifi library github"。 再選購硬體零件(感測器和驅動器) 。硬體零件的選擇依 Arduino 程式庫的有無與充實度與否而定,當然在選定零件後,如果能搜尋到合適的 Arduino 程式庫也可以。可以先到 Arduino 商店的 IOT 選購(外連結) ,然後到電商找副廠。請參考: ► 亞洲原廠供應商(外連結) 。 使用Arduino IDE寫程式,參考選好的程式庫的skeches(xxx.ino 檔案稱為 sketch) 並完成 sketch。做得好的程式庫除了程式庫之外還有多個參考案例的sketches xxx.ino。 獨立應用程式, Linux “make”   後,生成 xxx.hex。下載 MakeFile 在同一個資料夾裡面準備程式庫(xxx.cpp 與 xxx.h) 與 xxx.ino,只要執行 make 指令的話,就可以簡單的生成 AIoT 裝置的韌體 xxx.hex。為了做到以上的動作,要在Windows上的 Virtual Box等處安裝 Ubuntu,在 Ubuntu 上設定 Ardunio 環境,再從下列網站下載 MakeFile......。 使用 Python 應用程式控制 Arduino :  請參閱 :  使用 Python 控制 Arduino(外連結) Firmata : 利用Arduino IDE 已經內建了各種應用的 Firmata 韌體,透過Firmata 協定所寫的韌體燒入 ...

Arduino VS Raspberry Pi 樹莓派

圖片
Arduino VS Raspberry Pi 樹莓派 前言大綱 因為近兩年內有家裝的需求,考察了市面上的智能家居方案,要麼不靠譜看不上眼,要麼價格高得離譜。想著自己原來也搞過一段時間單片機,Linux 靠著 Google 和 StackOverflow 也能解決一些問題。於是開始嘗試 Arduino 和 RPi 在家居控制方面的各種實踐。 Raspberry Pi 和 Arduino 的差異 Raspberry Pi 和 Arduino 兩個完全不同運算水平的平台。畢竟 Raspberry Pi 使用的是一顆運行在 700MHZ 的 ARM11 CPU;而常用的 Arduino UNO 則是一顆在工業控制領域常見的 8-bit ATmega328,最高運行頻率僅 20MHz。 Raspberry Pi 可以運行完整的操作系統,如 Debian 等常見 Linux 發行版 - Raspberry Pi Distributions。這意味著你可以使用你熟練的語言(如 Python、Java)和熟悉的庫來進行開發,同時後台運行多個進程也毫無壓力。而 Arduino 作為一款真正傳統意義上的單片機系統,一次只能運行一個你燒進去的程序,功能也相對單一。 Raspberry Pi 自帶的介面比較全面,USB-host、RJ45、HDMI、SD讀卡器等常用介面都有;而 Arduino 比較單純,與外部設備打交道需要另外採購介面板。 Raspberry Pi 因為是一個相對完整的「電腦」,其成本肯定比 Arduino 高,目前 Raspberry Pi Model B(8G) 普遍 NTD2800 元左右;而常用的 Arduino Uno R3  NTD200 元搞定。 Raspberry Pi 擁有更完整的操作系統,這也意味著每次複電後所需的啟動時間很長,而且還不能保證重啟後你寫的相關服務都能正常啟動(Linux 大拿可能會覺得是我技術渣);但 Arduino 因為用途單一,重啟速度超快,而且重啟結束後立即就在運行你讓它做的事。 綜合應用 Raspberry Pi 作為家居中央控制伺服器 ,負責與互聯網的通信、採樣存儲 Arduino 上報的狀態數據、處理數據量大的工作(如音頻、視頻、圖片相關)、提供 API 給 iOS 及 Android 以方便用手機控制...

值得關注的資料科學部落格、網站

值得關注的資料科學部落格、網站 前言大綱 在資料科學層面有許多絕佳的資源,要知道從何開始著手可能令人有些不知所措。本文列出對每個人而言都是最實用的一些部落格和網站,從資料科學專家到新手都適合。除了提供建議和學習資源之外,這份資料科學部落格、網站清單也包含可供隨時瞭解專業人士最新消息、趨勢和意見。 部落格 Data Science Central 格主:Vincent Granville 網站連結: DataScienceCentral.com Data Science Central 的作用正如其名稱所示,而且做為資料科學和大數據所有相關內容的線上資源中心。該網站涵蓋有關分析、技術、工具、資料視覺化、程式碼和工作機會的各種資料科學主題。業界專家提供有關關鍵主題的討論和見解。 該網站經常更新,每天有將近兩篇由撰稿人投稿的部落格文章,而且也提供可供討論或提出問題的社群論壇。 SmartData Collective 格主:Social Media Today 網站連結: SmartDataCollective.com SmartData Collective 是著重於商業智慧和資料管理趨勢的社群網站。與 Data Science Central 類似,這也可以透過業界專家的投稿來提供資料科學的見解。Data Science Central 直接關注整體資料科學,SmartData Collective 則著眼於更廣闊的領域,並探究資料科學如何與業務交互作用。 What's The Big Data? 格主:Gil Press 網站連結: WhatsTheBigData.com What's The Big Data? 在資料科學層面採取不同的方法,而且著重研究大數據成長對現今數位龐然大物的影響。該部落格的創辦人 Gil Press 相當熟悉大數據和資料科學,並從事資料研究的工作,目前擔任顧問職務。 Press 在本身的部落格中探討大數據如何與我們的生活交互作用,並影響從技術到企業到政府和政策的一切層面。他提供有關資料領域的消息和評論來源。 沒有不勞而獲的預感 格主:Kaggle 網站連結: Blog.Kaggle.com 此部落格與其他部落格略有不同,可以直接檢視資料科學家的思想、教學課程和消息。這是資料科學網站 Kaggle 的部...

Python 中 yield 的用法詳解

Python 中 yield 的用法詳解 前言 yield 最主要的目的與功能是 : 為了節省記憶體的使用。 讓我們來看看下面一個狀況: my_list = [x*x for x in range(1000000000000000000)] for i in my_list : ... print(i) 可以看到,通常我們在進行遞迴時都會傾向於先把要遞迴的 list 存起來,之後再以 for 迴圈把內容逐步輸出。 但我們可以看到 my_list 裡有非常驚人的數列,因此如果要全部存進記憶體,運行效率就會變的非常的慢。 這時可能有人會說,那為什麼不直接用 range 就好呢?其實 range 在 Python 2 是分成 range 跟 xrange 兩個, range 的生成方式就像上面的 my_list;xrange 才是以 class 的型態運行。 其中要注意的是python3時已經沒有xrange()了,在python3中,range()就是xrange()了,你可以在python3中查看range()的類型,它已經是個<class 'range'>了,而不是一個list了。 這個問題,最常被注意到的便是爬蟲。有時候短短的幾千條網站,還能靠記憶體來爬;但如果有數十萬個網站,每一個網站都以 list 的方式儲存,記憶體不夠大,程式就會直接崩潰了。 因此 yield 設計來的目的,就是為了單次輸出內容。我們可以把 yield 暫時看成 return ,但是這個 return 的功能只有單次。而且,一旦我們的程式執行到 yield 後,程式就會把值丟出,並暫時停止。 直到下一次的遞迴,程式才會從 yield 的下一行開始執行。那哪裡有遞迴呢?沒錯,最常被用到 for 迴圈裡,而且 for 迴圈自帶 next() 的功能。換句話說,for 迴圈會自動在程式內部進行下一輪的遞迴,因而觸動 yield 進行下一輪吐值。而所有能被迭代的物件,都能夠被 yield 製作成生成器。 好了,如果你對這些不明白的話, 那先把 yield 看做 return ,之後再把它看做一個是生成器 generator 的一部分,然後直接看下面的範例 ...

如何學習 Python 呢?

如何學習 Python 呢? 學習教程 Python 教學(外連結)  : 這份教學介紹 Python 中最值得一提的那些功能,幫助您了解 Python 語言的特色與風格。讀完教學後,您將有能力閱讀和撰寫 Python 模組與程式,也做好進一步學習 Python 標準函式庫 (Standard Library) 中各類型的 Python 函式庫模組的準備。 Python 標準函式庫 (Standard Library)(外連結) : 你該好好的瀏覽這份手冊,它提供了完整(但簡潔)的參考素材,像是型別、函式與模組,可以了解 Python 標準物件和模組的描述。 安裝 Python 模組(外連結) :說明與解釋如何安裝其他 Python 使用者所編寫的模組。 Python 語言參考手冊(外連結) : Python 語法以及語意的詳細說明。這份文件閱讀起來會有些吃力,但作為一個語言本身的完整指南是非常有用的。 擴充和嵌入Python 直譯器(外連結) 和 Python/C API 參考手冊(外連結) : 可以學到用 C 或 C++ 寫擴充套件 (extensions)。 更多 Python 的資源: Python 官網 (外連結)  : 它包含代碼 文檔以及指向全網 Python 相關頁面的鏈接。該網站在世界各地建有鏡像,如歐洲、日本和澳大利亞等;鏡像網站可能會比主網站更快,具體取決於您的地理位置。該網站還包含許多免費的第三方 Python 模塊、程序和工具的發布包及其附加文檔的鏈接。 https://docs.python.org :快速訪問 Python 的文件。 https://pypi.org :Python 套件索引 (Python Package Index),之前也被暱稱為 Cheese Shop ,彙總了使用者開發 Python 模組的索引,並提供模組能夠被下載。一旦開始發佈相關程式碼,你可以將開發的作品註冊到這裡並且讓其他人找到。 https://code.activestate.com/recipes/langs/python/ :Python Cookbook 是一個相當大的程式碼集,包含程式碼範例、較大的模組以及有用的腳本。特別值得注意的貢獻則被收集在一本名為 Python Cookbook (O’Re...

GoTop 按鈕讓網頁快速回到最上方

圖片
GoTop 按鈕讓網頁快速回到最上方 大綱 步驟 1 : 編輯 HTML 步驟 2 : 新增 CSS  步驟 3 : 新增文章時,新增程式碼  步驟 4 : 驗收成功 步驟 1 : 編輯 HTML 首先,登入你的Blogger 後台 => 選擇 "主題" => 下拉"自訂"選項  點選 "編輯HTML" 來到HTML網頁編輯中,按 "Ctrl+F" => 出現 Search 的搜尋輸入欄位,輸入: "<head>"  => 找到 <head> 標籤後,在下面貼上以下 2行程式碼:  <script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'/> <link crossorigin='anonymous' href='https://use.fontawesome.com/releases/v5.0.13/css/all.css' integrity='sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp' rel='stylesheet'/> 再按 "Ctrl+F" => 出現 Search 的搜尋輸入欄位,輸入: "</body>"  => 找到 </body> 標籤後,在上方貼上以下 JavaScript 程式碼: <script type='text/javascript'> $(function() { /* 按下GoTop按鈕時的事件 */ $(&#39;#gotop&#39;).click(function(){ $(&#39;html,body&#39;).animate({ scrollTop: 0 }, &#39;slo...

Scrapy爬蟲框架

圖片
Scrapy爬蟲框架 前言 我們前面已經說明各類模組可以執行網路爬蟲設計,針對一般的網頁抓取已經足夠,這裡我們將介紹的 Scrapy ,其實是一個爬蟲框架,是一個快速的高階網頁抓取和網頁淬取框架,用於抓取網站並從其頁面中提取結構化數據。它可用於廣泛的用途,從數據挖掘到監控和自動化測試。適合大型爬蟲設計,我們將簡單以範例說明此框架 。 大綱 安裝 Scrapy 從簡單的實例開始 - 建立 Scrapy 專案 Scrapy 專案框架 Scrapy 專案框架的檔案說明 爬蟲程式設計 Scrapy 定位元素 使用cookie 登入 保存文件為 JSON 和 CSV 檔案 Scrapy 架構圖 數據流 DataFlow Scrapy Components 控件 專題爬取多頁 PTT 資料 安裝 Scrapy 早期在安裝 Scrapy 需要先安裝 Twisted,Twisted 是異步網路請求框架,現在這個 Twisted 安裝已經被整合在 Scrapy 安裝內,讀者可以使用下列方式安裝 Scrapy。 pip install Scrapy 安裝成功後可以看到下列畫面 從上述可以看到 Twisted 也安裝了,若是不知道是否安裝成功,可以使用輸入下列指令了解相關 Scrapy 的模組版本 。 scrapy version 從簡單的範例開始 - 建立 Scrapy 專案 Scrapy 專案框架 這裡我們先用一個簡單的網頁測試 Scrapy 的功能,對於 Scrapy 而言,想要執行設計爬蟲程式必須建立 Scrapy 專案,專案建立方式是使用下列指令: scrapy startproject 專案名稱 此例我們在 Windows PowerShell 環境進入~/scrapyProject 資料夾,然後使用下列指令建立專案: scrapy startproject yahoo 可以看到下列結果 這時 Scrapy 模組就自動在我們的 ~/scrapyProject/yahoo 資料夾下方建立了一系列專案檔案。 上述就是我們建立 Scrapy 專案 yahoo時,模組 Scrapy 自動產生的框架完整結構與內容,有關各個 Python 檔案內容意義,將在下面說明。 Scrapy 專案框架的檔案說明 在 ~/scrapyProject/ ...