發佈時間: 2025-6-13 最近更新: 2025-7-5字數 1200閱讀時間 4 分鐘

type
status
date
slug
summary
tags
category
icon
password
💡
一個能快速抓取 Kobo「一週99」書單、擷取書籍詳細資料,再依日期判斷當日書單,發送通知的自動化流程。

研究背景

這是來自於個人的需求。(看我有多懶)
Kobo 每個星期都會在官方部落格推出「一週99」優惠書單,對經常購買電子書閱讀又小資的我來說,相當實用(是時候挖寶)。然而痛點就難在「每週要想起這件事」已經好不容易,又需手動找到優惠網頁、研究且留意何日優惠何書、書籍簡介內容對不對胃口等資訊,容易漏掉又耗時繁瑣。
便想試試如何使用自動化流程解放我的時間。

主要功能

使用 Python(Browser-Use) + n8n 實作:[1]

Python(Browser-Use)

  1. 自動化抓取該周 Kobo「一週99」主頁中的書單分段
  1. 進入每本書的「查看電子書」頁面,擷取:
      • 書名全名
      • 作者(多作者都擷取)
      • 內容簡介
      • 詳細資料(出版社、出版日、版本、ISBN、語言、下載選項)
  1. 同步產出 CSV 與結構化 JSON
  1. 自動上傳到 Google Drive 雲端放

n8n

執行自動化流程
  1. 每日抓取對應雲端檔案過濾出對應該日書單
  1. 書籍資料傳給AI總編製作摘要
  1. 彙整書籍資料推送通知至Discord

[1]原想使用 n8n 作全程,從爬蟲一路用到底,無奈 KOBO 頁面有所限制。最後決定使用 Browser-Use 處理爬蟲資料那段,也算新嘗試新學習。

設計與實作技術

PART1:Python(Browser-Use)

  • 程式語言:Python 3.11(使用Anaconda 建立虛擬環境)
  • 瀏覽器自動化:Browser-Use 套件(底層由 Playwright 驅動)
  • 資料輸出:CSV + JSON
  • 雲端存放:Google Drive

PART2:n8n

notion image

各節點模組功能介紹與設定

  • Schedule Trigger: 排程觸發工作流,每天上午十點跑一次。
  • Code: 抓取系統今日日期去計算周數。
  • Google Drive-Search File: 找到對應該周的書單 json 檔案名稱。
  • Google Drive-Download File: 下載找到的 json。
  • Extract from JSON: 把 json 解析編碼出來。
  • Split Out: 把該周書單一本一本書分出來。
  • If: 找到對應今日的書籍資料。
  • Loop Over Items: (因為有可能一天有兩本書以上)要使用迴圈一本一本送資料。
    • 書本迴圈:
      • Basic LLM Chain: 引入這個節點,來讓 Gemini(要先去Google AI Studio申請API KEY) 分析書名+簡介內容作分類與摘要。
      • Edit Fields: 對LLM弄出來的資料命名。
      • Discord-Send a message: 選用 webhook 網址,設定n8n傳送的通知格式內容。
    • 結束迴圈:
      • Summarize: 結束Loop節點後,總結本日幾本書。
      • Discord-Send a message: 選用 webhook 網址,設定 n8n 傳送的通知格式內容。

開發問題筆記

  • 套件間版本打架,降版去嘗試可行性
  • 一週99書單的網址有規律: 尾數是西元年份、周數(要以週四-隔週三為一週)https://www.kobo.com/zh/blog/weekly-dd99-2025-w24 https://www.kobo.com/zh/blog/weekly-dd99-yyyy-wnn
  • 進入頁面時需考量想抓取的html標籤數量是否兩個以上,需要只取特定一個。例:優惠主頁h3(抓日期)、書籍頁面內h1(抓書名全名)。
  • 分兩段爬取需要的資料
    • 優惠主頁:抓日期書名書籍連結(取一個)三項
      • notion image
    • 透過書籍連結開新分頁:抓書名全名作者(多作者都擷取)內容簡介詳細資料(出版社、出版日、版本、ISBN、語言、下載選項)
      • notion image
  • Google Drive 憑證留意要到 GCP 上的IAM與管理>服務帳戶>建立服務帳戶+新增金鑰+下載JSON
  • 改善開發體驗:
    • 適時於終端機印提示,好掌握目前進度
      • notion image
    • Gemini 的 prompt 需要要求明確:
    • notion image

實測效果

爬取一週99書單與各別書籍頁面出來的json內容
爬取一週99書單與各別書籍頁面出來的json內容
程式自動上傳到 Google Drive 指定資料夾
程式自動上傳到 Google Drive 指定資料夾
notion image
notion image
隔天十點真的也跳出通知!!!解放時間成功✌🏻
隔天十點真的也跳出通知!!!解放時間成功✌🏻
 

贊助支持鼓勵

如果這篇文章對你有所幫助或解惑,歡迎您賞我一杯啤酒🍻
 
 
Loading...
n8n自動化:讀取新聞RSS資訊後寄出通知—以〈焦點事件〉為例

n8n自動化:讀取新聞RSS資訊後寄出通知—以〈焦點事件〉為例

使用n8n自動化流程排程定時追蹤媒體RSS,將新聞文章擷取後,發送重點與通知。


AI學不完、資訊焦慮怎麼辦?不是每次都要追浪,有時候學會潛水更重要

AI學不完、資訊焦慮怎麼辦?不是每次都要追浪,有時候學會潛水更重要

本文分享個人使用AI的恐懼經驗與心法。