之前我開始使用蘋果內建的日誌 App 做記錄,雖然不一定是完整的一篇日誌,可能只有短短幾行,但都是珍貴的當下心境的記錄。
這時我開始手癢,想要借助 AI 分析我的趨勢,但這時輸出成為一大問題,幸好 macOS 26 已經實裝日誌 App,可直接在電腦上匯出,卻發現輸出的都是一篇篇的 html,夾在資料夾裡,以日期為名,將檔案取出很容易,但 NotebookLM 有檔案限制,該怎麼辦呢?
這時我使出 Gemini
我有大量html,想要轉換成純文字,按照順序整合成完整單一文件
最初 Gemini 提供了 python 作為解方,甚至自動生成一份 PDF 文件的說明書,但我想讓環境更加精簡,所以要求 Google Colab,接著給我以下建議:
BeautifulSoup 和 requests ,Colab 都已經預先安裝好了。html_files.zip 壓縮檔。html_files.zip 直接拖曳上傳進去。在 Colab 的程式碼儲存格中,貼上以下這段針對 Colab 環境優化過的程式碼,然後點擊左側的「執行」按鈕:
import os
import re
import zipfile
from bs4 import BeautifulSoup
# 1. 解壓縮您的 HTML 檔案
zip_path = 'html_files.zip' # 請確認上傳的檔名與此處一致
extract_dir = 'extracted_html'
if os.path.exists(zip_path):
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
zip_ref.extractall(extract_dir)
print("解壓縮完成!")
else:
print("找不到壓縮檔,請確認是否已成功上傳 html_files.zip")
# 自然排序函數
def natural_sort_key(s):
return [int(text) if text.isdigit() else text.lower() for text in re.split(r'(\d+)', s)]
# 2. 開始批次轉換與合併
output_file = 'combined_all_text.txt'
# 獲取解壓後的資料夾內所有 html 檔案
file_list = []
for root, dirs, files in os.walk(extract_dir):
for f in files:
if f.lower().endswith(('.html', '.htm')):
file_list.append(os.path.join(root, f))
# 按檔案路徑/檔名進行自然排序
file_list.sort(key=natural_sort_key)
print(f"找到 {len(file_list)} 個 HTML 檔案,開始按順序轉換...")
with open(output_file, 'w', encoding='utf-8') as outfile:
for index, file_path in enumerate(file_list, start=1):
file_name = os.path.basename(file_path)
try:
with open(file_path, 'r', encoding='utf-8', errors='ignore') as infile:
html_content = infile.read()
soup = BeautifulSoup(html_content, 'html.parser')
# 剔除 JavaScript 與 CSS
for script_or_style in soup(["script", "style"]):
script_or_style.decompose()
text_content = soup.get_text()
# 清理空白行
lines = (line.strip() for line in text_content.splitlines())
clean_text = '\n'.join(line for line in lines if line)
# 寫入單一文件
outfile.write(f"\n\n{'='*50}\n來源: {file_name}\n{'='*50}\n\n")
outfile.write(clean_text)
except Exception as e:
print(f"處理 {file_name} 時發生錯誤: {e}")
print(f"\n全部完成!已成功整合成單一文件:{output_file}")
程式執行完畢後,點擊 Colab 左側資料夾面板的「重新整理」按鈕,您就會看到一個名為 combined_all_text.txt 的全新純文字檔案。點擊它右邊的三個點,選擇「下載」即可存回電腦。
html_files.zip 和產出的 combined_all_text.txt 在隔天就會消失, 請記得在執行完後立刻下載成品 。在這之前我的 python 程度僅限於有上過課,用過 Colab 的程度,而在這之後開啟我的 Gemini X Colab 的開發之路……