Chrome 開發者工具的「網路」面板可以檢視所有的網路請求。fetch 傳送的請求不會出現在「原始碼」面板中,只能透過「網路」裡下載。討厭的是,Chrome 沒有提供在列表內直接下載對應的響應的功能,雙擊對應的請求仍然只會在新標籤頁重新傳送請求,而不是下載已抓取的資源。若遠端伺服器上的資源已失效,則無法成功下載。雖然可以直接透過「響應」檢視內容,但若請求是 binary,則可能包含非法的 Unicode 位點,無法透過複製貼上將內容正確地儲存到本地。
此時,可以透過右鍵任意一請求,點選選單最下方「以 HAR 格式儲存所有內容」或點選如下所示的下載按鈕儲存 HAR。

HAR 實質是 JSON。透過文字編輯器開啟下載的 HAR 檔案,依據「標頭」-「響應標頭」中的 Content-Length 查詢到對應的請求內容,即可在 content > text 中看到 Base64 編碼的 response 內容。
此時我們可以安心地將內容複製出來,解碼即可。推薦使用命令列工具。
import base64
from codecs import open
with open("b64.txt", "r") as f:
content = base64.b64decode(f.read())
print(content)
with open("out.txt", "wb") as f:
f.write(content)注意若用 Python 處理,寫入檔案的內容不一定是合法字串,故 open 的引數需要為 wb,否則會有 TypeError: write() argument must be str, not bytes。
版权许可
- 本作品 采用 知识共享 署名—非商业性使用 4.0 国际许可协议(CC BY-NC 4.0 International)许可,阁下可自由地共享(复制、发行) 和演绎(修改、转换或二次创作) 这一作品,唯须遵守许可协议条款。
评论