創用 CC 授權條款
除非另有註明,本網站的著作由Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2019年12月21日 星期六

ccal自製有農曆的日曆

摘要

自己已連續好幾年都使用“自製有農曆的日曆”這個網站來產生月曆,原本使用它的網頁功能,近年改用該網站的後端程式(ccal.exe),直接在自己電腦中做。

本文簡單介紹一下這網站與其後端程式的使用。如果發現該網站上有許多頁面連結失效,先別慌,先複製所要的連結網址,瀏覽器開新空白頁,貼上網址即可。

2019年12月14日 星期六

以Python與無頭式Firefox或Chrome做網頁抓取

前言

以程式來抓取網頁內容從中取得有用資料的工作早已不是件困難的事,而現代網頁的產生方式也有許多種方式,其中一種是執行過JavaScript才產生的。這類網頁在程式中僅由一般取得靜態網頁的方式來取得是行不通的,必須透過像瀏覽器的運作,執行過其中的JavaScript後,真正的網頁內容才會產生。

若要以Python抓取由JavaScript所產生的網頁內容,有一種作法是透過Selenium[1],驅動瀏覽器來進行。Selenuim支援多種瀏覽器,其中包含了Firefox, Google Chrome。但在某些應用的環境中,啟動瀏覽器來抓資料可能不太適合,因為桌面環境就不方便同時再進行其他工作,或是根本沒桌面環境可用。在這種情況下,像PhantomJS這類無需圖形環境的Scriptable Headless Browser[2],無頭(意指沒有圖形畫面顯示)的瀏覽器就相當適合,而Selenuim也支援它。以往PhantomJS在這方面使用的領域佔有重要的一席之地,自己也用了很長一段時間,且得心應手。只是Selenuim後來的版本因某些因素不再支援它,想用Headless瀏覽器,得改用其他像Firefox Headless Mode或是Chrome Headless Mode。

本文簡單記錄Python中以Selenuim驅動Headless Firefox/Chrome的方式、幾點相關建議、提醒以及相關參考。不涉及Selenium與Headless Browser之詳細用途說明,這類請查閱後面所列的參考。內容僅屬粗淺的入門指引,也算不上教學文,文末所列的參考可查到這方面詳細資料。

本文適合的讀者對象是已經會使用Python來抓取一般網頁,但對於以JavaScript或Ajax所產生的網頁資料一籌莫展者。要做這工作,最好熟悉HTML,能懂點JavaScript更好,會使用瀏覽器的開發者工具來檢視HTML元素可方便鎖定想找的東西,以及瀏覽器主控台。

如果想學習如何以Python抓取網頁資料(俗稱網路爬蟲),市面上已有數本這類書籍,像Web Scraping with Python。有Python基礎者可利用Requests, Beautiful Soup, lxml(選項)的組合,或者Scrapy來達成一般的網頁抓取工作,前者的組合可做一般應用也可做爬蟲,較容易入手;Scrapy則專門用於建構爬蟲。在必要時才採用本文所說的方式來抓取由Javascript產生的網頁資料。

2019年12月7日 星期六

尋找重複圖片檔

摘要

前一篇談過〈尋找重複音樂檔〉,本文則談尋找重複的圖片、照片檔案這類的點陣圖檔[1],其格式有多種,像BMP, TIFF, GIF, JPEG, PNG[2]。這些並不同於向量圖[3],後者並不在本文的討論範圍。這類工具同樣也不算少,在本文也會簡單介紹筆者慣用的工具。

2019年11月23日 星期六

尋找重複音樂檔

摘要

當電腦中存放了太多重複的音樂檔(或音訊檔),這類重複的檔案可能會佔用掉不少磁碟空間,若要以人工方式逐一找出這些重複檔案刪掉以節省儲存空間也未免太累人。幸好有不少針對這方面工作設計的軟體工具,不論尋找重複的音樂檔、圖片檔或是一般檔案,都有相關軟體可使用,本文會較著重在音訊檔這方面做介紹。

如果使用Apple iTunes撥放、管理音樂媒體庫,該軟體本身就有在自身音樂媒體庫中尋找重複音樂檔的功能。但這僅適用於被納入其媒體庫的音樂檔,以下另外提供幾個較常見的相關軟體。

本文不會詳細介紹尋找重複檔案的運作方式,只是純粹談些軟體方面的使用。

2019年11月9日 星期六

幾款CUE編輯相關工具軟體

摘要

之前曾寫過與CUE[1], [2]使用相關的文章:
本文則簡單介紹幾款CUE編輯相關的工具軟體,像編輯器與產生器,以可以免費使用的為主。以下的分類與排列順序只是為方便撰文工作而為之,並無任何推薦與貶損之意,其中有幾款並未實際仔細用過。軟體設計者寫軟體時所著重的功能與設計思維,也許會與一般使用者所想的不同,使用者可嘗試從幾種不同軟體之中挑選自己合用的。

以下所列軟體的網站大半也會附有CUE方面的說明。

2019年10月26日 星期六

無損音訊壓縮

前言與摘要

對於音樂迷而言,會希望將過去所買的珍貴音樂CD完善長久保存,然而音樂CD也有可能因存放環境或是時間過久的關係,多少會有發黴甚至受損的可能,進而破壞了播放的音質。將其數位化做儲存是個代替保存的好方式,採用無損壓縮的格式,更可保留原有的音質,並不像MP3之類的壓縮,會減損原有音質。雖然無損壓縮會比MP3佔用更多儲存空間,不過目前儲存裝置的價格已相當便宜,還是非常值得考慮。而且數位化後很容易做複本保存,這樣也可減少因儲存裝置失效或損壞所導致數位檔案遺失的機會。

有些人會以直接複製/拷貝CD的方式來做音樂光碟的複本,但許多CD播放機或是音響,對於這類以一般燒錄片所燒錄的音樂光碟片的讀取能力並不佳(音響不是設計來讀取這類燒錄片的),多半無法播放。這方式就只適於在電腦用的光碟機以播放器軟體來播放,但電腦用的光碟機也已逐漸式微,故不是良好的長久之計,做無損壓縮保存才是較完善的方法。而且現代新設計生產的數位音訊播放器也多半會支播這類音訊格式,自然這類格式多半也適用於另一種相當普遍的播放裝置:智慧型手機。

本文算是對以前寫的零星記錄做重新整理,內容包含無損音訊壓縮的常見格式、相關音訊擷取軟體與播放軟體。以下並不是詳盡列表,只是一些常用的,後面的參考可以找到更多相關資料。

2019年10月12日 星期六

calibre插件EpubSplit的使用

摘要

在手機上開啟epub電子書時,若是檔案較大會花較久的時間,此時可考慮將該epub檔的內容,另外儲存成幾個較小的epub檔案,這樣在開啟較小的檔案時就不必花太久時間。

calibre有個EpubSplit插件可以用來做這件事,雖然不能算是完美的插件,但使用上也還算簡便,相較於其他類似功能的軟體,可能方便些。

光看這插件名稱,可能會讓人以為是分割epub檔案用的,實際上它是從原檔案複製所選取的內容,放到新產生的檔案,原檔案是不動的。

本文在Ubuntu MATE 18.04所用的calibre是3.42版,EpubSplit是2.7.0版。(本文其實是6月時寫的,沒對外發佈。)