下载 Chrome 开发者工具「网络」面板中的文件

日期:
分类: 页面仔的自我修养 9
标签: Chrome 1

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

此時,可以透過右鍵任意一請求,點選選單最下方「以 HAR 格式儲存所有內容」或點選如下所示的下載按鈕儲存 HAR。

儲存 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

版权许可

  1. 本作品 采用 知识共享 署名—非商业性使用 4.0 国际许可协议CC BY-NC 4.0 International)许可,阁下可自由地共享(复制、发行) 和演绎(修改、转换或二次创作) 这一作品,唯须遵守许可协议条款。

评论

评论将在审核后显示,阁下可以在本博客的 Github 仓库的 拉取请求列表 中查看。提交成功后会自动跳转。

本站不支持 Dark Reader 的暗色模式,请对本站关闭后再访问,亮色模式的对比度、亮度等选项不受影响。部分页面右上角提供暗色模式切换按钮,如果你没看到,说明你的浏览器尚不支持此特性。本提示不依赖于 JavaScript,你可自行查找其他用户在本站发表的关于如何关闭此提示的评论。