有些網站採用 JavaScript 前端渲染其文字內容 (client-side rendering),
無法直接用 curl/wget/lynx 等等命令直接下載。 例如
溫朗東所製作 的
京華城案 15 場逐字稿 就是。
[順便抱怨一下: 像這種希望大家廣傳的資訊, 真的拜託用純文字就好,
對於視障者♿、 搜尋引擎還有文字瀏覽器使用者都比較友善。]
這種情況, 手動滑鼠剪貼有點囉嗦; 寫程式下載又有點費工;
那就用 firefox 的擴充套件
MarkDownload 吧!
你還是需要手動打開每個頁面 (所以不適合處理上百頁的情況);
但至少不需要剪貼很多次。
2026年9月28日 星期一
MarkDownload: 批次下載網頁, 以 markdown 格式存檔
2024年2月3日 星期六
手動製作一長串討論的網頁圖文備份
我經常 用網路時光機備份歷史。 但是遇到有 javascript 的頁面, wayback machine 有時會失敗。 又例如噗浪的討論串如果太長, 「較早的留言」 可能需要手動點才會顯示。 這時只好手動備份。 今天就拿 烏克蘭拉攏中國討論串 來作例子, 示範如何手動備份網路時光機備不下來的網頁。
[2024/3/22] 最近才知道: 如果想備份的是噗浪的頁面, 可以用 「讀噗」。 到 這裡 直接輸入某噗的網址或代號, 也可查看該對話串的鏡射, 然後就可以再用網路時光機備份這個鏡射頁面。 不過好像還是會有「太長的對話藏在 javascript 後面,以致無法完整備份」的問題。
2022年7月30日 星期六
減少 ssd 與隨身碟讀寫, 2022 版
一般正常使用電腦, 除了作業系統本身之外,
最常寫入硬碟的軟體,大概是瀏覽器吧。
對於機械式硬碟, 這不是什麼問題。
但如果你的 linux 裝在 ssd 或開機隨身碟上, 就應該考慮採用
psd
來減少瀏覽器對隨身碟的讀寫。
可是它並沒有管到 ~/.cache 目錄。
搜尋到
psd 作者的建議: 在 /etc/fstab 裡面放一句:
tmpfs /home/你的ID/.cache tmpfs noatime,nodev,nosuid,size=120M
這會把 ~/.cache 放到 120M 大小的記憶體裡, 以後每次開機就會看到一個空的 ~/.cache ,
很多 apps (不只瀏覽器, 還有 gimp、 virt-manager 等等)
最頻繁的讀寫都會變成在記憶體裡發生, 關機後就忘光。
這麼做之後, 每次開機之後第一次點 (上次關閉前正開啟著的) firefox
某個分頁, 它就必須重新載入那個分頁,
而且開太多分頁時偶爾會當掉。 除此之外, 好像沒有什麼不良的效果。
至於
保護 ssd 的其他措施, 我已經好幾年都沒有做了耶; 到目前為止好像也沒什麼關係。
2021年6月16日 星期三
Firefox 黑底白字 (暗底亮字) 閱讀 pdf
用 「firefox 黑底」 或 「firefox 暗底」 等等可以找到
High Contrast、
dark reader
等等擴充套件的推薦, 或是
暗色佈景主題 之類的方法。
可是遇到 pdf 檔就無效了 :-(
今天我需要在火狐裡面連開幾十個 pdf 檔,
又懶得每個下載回來用 evince 看 (在 evince 裡按 ctrl-i 即可反轉顏色)。
於是搜尋到這篇:
Dark mode for Firefox's built-in PDF viewer,
成功反轉顏色! 快筆記分享一下。
2021年4月18日 星期日
藏在 qrcode 產生器裡的 fingerprinting
這篇是一個不完整實驗的摘要, 順便想要請教讀者兩個問題: (1) Canvas Fingerprint Defender 可信任嗎? (2) 誰可以幫解說 David Shim 的 qrcodejs 的程式碼嗎?
2019年8月19日 星期一
網頁表格轉 csv, 瀏覽器 inspector 手動剪貼版
玩資料視覺化, 經常需要從網頁上下載表格, 再轉成 csv。
以前就曾搜尋到
sebsauvage.net 上面的 html2csv.py,
後來忘記了; 最近又重新發現一次。
很簡單: python2 html2csv.py abc.html 它會把 abc.html
裡面的所有表格串在一起, 產生一個 abc.csv 。
如果有合併列或合併欄等等比較複雜的狀況, 還是需要後續處理,
但至少比自己寫 regexp 簡單多了。 全文完。
喂~ 這樣就結束? 這篇未免太 ㄌㄢˋ ㄩˊ ㄔㄨㄥ ㄕㄨˋ 了吧!
[現在有同音異字的成語太多了, 我都不知道國字該怎麼寫才對...]
至少應該要交代一下如何取得 html 啊。 如果是大量的靜態網頁,
可以用 wget 或 lynx -dump 或 curl 取得。
有可能需要
設定 user agent 才不會被網站拒絕。
如果是 javascript 所動態產生的、 上述指令無法取得的網頁呢?
如果頁面數量很多, 那就考慮用
puppeteer。 如果只是單一或少數的 [js 動態產生的] 頁面,
那就手動另存新檔就好。
可是有一些 js 頁面需要你點幾個地方之後, 才會動態填值進表格。
這時 firefox 的 console 就很好用了 --
即使不是 js 程式設計師也值得學一下。
2019年1月5日 星期六
跟蹤狂祖克柏退散! 免登入也能閱讀臉書上的公開貼文
有些 FB 網紅大大的頁面明明是公開的, 但讀者卻必須登入他自己的 FB 才能閱讀網紅大大的貼文。 這樣的設定對於保護隱私完全沒有幫助。 (事實上 「臉書上的隱私」 本來就只是一種幻想, 看看 性工作者身份暴露的故事 就知道臉書的可怕) 這只會犧牲自己的人氣幫 FB 換取更多的追蹤訪客的機會, 好像店長僱了一位街頭小弟幫你發商店傳單, 小弟卻對訪客說: 「你先加入XX幫, 才可以進來消費」 一樣, 仿佛又回到了十年前 網站自殘 -- 微軟綁架你的點閱率 的年代。 因為我是 無賴 不要臉的邊緣人, 不太會用 FB, 不太確定自己的 FB 是否也跟小英總統一樣設壞掉了? 總之如果讀者知道該如何更改這個設定, 讓沒有登入的訪客也能看自己的 FB 公開貼文, 麻煩分享一下, 讓這些網紅大大不再犧牲自己的人氣幫 FB 強迫推銷。
[2023/6 臉書的程式碼常常改來改去,我也不確定本文這招可以用多久。 另一個更簡單的方法是: 把 www.facebook.com/... 改成 m.facebook.com/... 說不定就可以看了, 因為行動裝置版好像比較不會鎖登入。]
但是在那麼多網紅大大學會更改設定之前, 我們路過的訪客還是可以自力救濟 -- 只需要以下幾個指令:
2018年11月19日 星期一
在手機上開啟本地的 html 跟 svg 檔
Android 作業系統的自由度遠遠不及 GNU/Linux。 例如瀏覽器的功能明明就可以開啟 html 檔或 svg 檔, 但若這個檔案在本地而不在雲端, android 手機就是不提供 「以瀏覽器開啟」 的選項。 我覺得這是 google 的陰謀 -- 就像 chrome 的禁讀令 一樣, 它希望你把一切都移到雲端去, 或是一定要逼你打開一個特定的 app, 總之就是不讓你很方便地用通用的瀏覽器做事。 不管是不是陰謀, 總之這個沒有意義的限制其實是可以繞過去的: Svg 圖檔 (含 sozi 簡報) 及 html (在某些情況下, 甚至包括內含 javascript 的 webapps) 也都可以透過 「open in browser」 這個 app 搭配適當的瀏覽器來開啟。
2018年3月10日 星期六
用 noscript 阻斷不明程式、 保護瀏覽器的安全與隱私
瀏覽器是你的電腦與外面廣大網際網路的最直接接觸面。
即使是你從來沒聽過、 不小心第一次造訪的網站,
它的 javascript 程式碼也都會進入你的瀏覽器執行。
這也是病毒、勒贖軟體、挖礦軟體最常走的入侵管道。
所以保護瀏覽器安全的最基本方式,
就是只允許部分 javascript 執行。
Adblock Plus 適用於多種瀏覽器, 它比較寬鬆:
「原則上放行; 只阻擋黑名單」;
而這篇要介紹、 最近 UI 大改版的
NoScript
僅適用於 firefox, 它比較嚴格: 「原則上阻擋; 只放行白名單」。
2017年4月9日 星期日
firefox 與 chromium 把網站密碼存在哪裡?
我的網路生活的秘密, 誰知道得最多呢? 當然不是我的老婆, 而是我的瀏覽器。 造訪過哪些 (怪怪的) 網站、 每個網站的帳號密碼是什麼, 都存在 firefox 或 chromium 的工作目錄裡面。
2017年3月7日 星期二
用 uBlock origin 或 Adblock Plus 擋惡意網站跟保護隱私
我對靜態的網頁廣告並沒特別反感, 而且已用其他擴充套件保護我的瀏覽器
(另文詳), 所以一直沒有裝 Adblock Plus。
直到這學期要教資訊安全的通識課才認真看了一下, 發現它不只可以擋廣告,
而且根本就是擋惡意網站跟保護隱私的第一線首選。
不論你的瀏覽器是 firefox、 chrome、 safari、 opera、 edge、
... 還是 ie (抖~~),
快把 Adblock Plus uBlock origin 裝起來吧!
[2021/7/19 大改寫, 根據讀者留言, 改推薦類似的 uBlock origin。]
2016年12月12日 星期一
電腦麻瓜也會用 mailvelope 加密保護電子郵件隱私及加上數位簽章
現代人都把 e-mail 放在雲端 (webmail)。 對英美的情治兼間諜單位 (NSA 跟 GCHQ) 來說, 這讓他們 「偷窺全球民眾通訊內容」 的工作變簡單了許多。 如果你不爽被監控的話, 就應該學會如何加密 e-mail。 小格的 gnupg 加密 一文點閱率意外地高; 但它畢竟是命令列, 比較不適合電腦麻瓜。 為了準備下學期在中興大學開的資安通識課, 最近找到 (適用於 chrome 及 firefox 的) 瀏覽器的擴充套件 mailvelop, 它採用 OpenPGP (當然也跟其他 PGP/GPG 軟體相容) 並且本身也是開放原始碼 ( github), 完全符合我的上課需求。
2016年5月14日 星期六
psd 不讓瀏覽器折磨開機隨身碟
[2018/2/20 重新整理] 2009 年我在馬來西亞授課兩週時, 都是在 slax 開機隨身碟上過日子。 那時就發現瀏覽器頻繁寫入, 對 linux 開機隨身碟的傷害最大。 2011 年這篇 Linux 開機隨身碟延年益壽妙方 的第一重點也是要設定瀏覽器。 今天來介紹 Profile Sync Daemon (以下簡稱 psd) -- 它把 firefox、 chromium、 ... 各種瀏覽器所使用的目錄整個搬到記憶體去, 直到關機前才寫回硬碟, 以便保護你的開機隨身碟。 [2022/7/22] 另外也要設定 把 ~/.cache 放到記憶體裡面去。
[2020/8/21] 也請參考 How To Sync Browser Profile Into Tmpfs (RAM) In Linux
2015年11月8日 星期日
手機上網只為查資料嗎? 快關掉 javascript 跟圖片, 廣告退散/節省流量/提高速度
你的手機數據上網採用吃不飽的方案嗎?
你用手機上網, 主要是搜尋文字資料、 偶爾搜尋圖片資料嗎?
那麼快把 javascript 關掉吧。
不只節省流量, 廣告通通也不見了, 而且瀏覽安全度會略微提升一些,
例如
adSage 這類透過 js 入侵的惡意廣告程式就無法運作。
還有圖片顯示平常也可以關著, 需要時再打開就好。
關掉這兩項, 不只減少流量/節費, 也會讓開啟網頁的速度變快。
2015年8月30日 星期日
Chrome 的「禁讀令」 讓 web app 不太可能取代 hybrid app
要寫 app 讓手機平板用, 有三種方式: Web APP、 Native APP、 Hybrid APP。 每種方式各有何優缺點? Kuro 大大 在 ICOS 2013 所做的 這份簡報 的第16頁有個簡單比較表。
其中 "Web app 不支援原生功能" 這件事已有改變: 搜尋 「javascript device API」 會看到已有很多 API 讓 web app 設計師可以跟手機平板互動。 W3C 做了一個 清單 列出目前可用的 API。 例如, 請拿你的手機/平板去開 這一頁: 它用 orientation API 偵測你的手機面向東西南北上下哪一方。
樂觀的 web app 開發者會期待有一天, 這些 API 讓 web app 幾乎可以取代像 cordova 這樣的 hybrid app。
2015年7月11日 星期六
android 的離線瀏覽, 包含網頁檔與 svg 檔
一般的 google play 使用者, 如果想要把網頁存下來離線瀏覽,
或是用瀏覽器開啟手機記憶卡內的 html 檔,
只要搜尋 「android 離線瀏覽」 或 「android offline browsing」
就會找到很多工具。 但如果你跟貴哥一樣 (幾乎) 只從 f-droid 下載 apps 呢?
你可以安裝
Save For Offline 跟
Open in Browser。
2015年2月19日 星期四
輕巧/安全/隱私的圖文瀏覽器 dillo
如果你 (1) 偏好輕薄短小的軟體 (2) 重視隱私
(3) 上網大半的時間只需要看靜態的圖文,
那麼 dillo 瀏覽器
可能很適合你。 它的 .deb 套件檔不到 500K、
啟動迅速、 不支援 javascript 及影片、 嚴格控管 cookies、
部分支援 css (所以排版經常會亂掉) 顯示跟輸入中文都正常。
(2015/4/7更正)
大人問小孩: 「全世界的玩具隨便你挑? 這怎麼可能?
如果我要的玩具只有一個, 正好又被別人借走了呢?」