在上一篇已經做完 Gemini 的連接工作,接下來要抓取新聞正文讓它做摘要,在抓正文之前我們需要先對 HTML 的語法有一些了解,因為之後抓的新聞是 HTML 的內容,再用 Code
節點把 HTML 格式轉為純文字讓 AI 摘要,你可能會有一些疑問:「不能直接讓 AI 讀 HTML 格式嗎?」,讓我來為你解答吧!
先回答剛剛那個問題:「不能直接讓 AI 讀 HTML 格式嗎?」
答案:「可以」,你可以直接抓 HTML 格式讓 AI 做摘要。
但為什麼我還要轉成純文字呢?有幾個原因:
內容太多:HTML 不只包含正文,還有廣告、推薦文章、按鈕、版面設定等等,這些對摘要沒有幫助,反而可能干擾 AI 判斷重點。
Token 浪費:還記得我說我用的是 Gemini 1.5 Flash 免費版嗎?既然是免費版那一定有使用上的限制,而 HTML 裡的標籤、CSS、JS 都會佔 token,我們要以最低的成本來獲得最大的收益!
不同網站 HTML 結構差異大:每個新聞網站標籤命名不一樣,直接丟 HTML 就等於把不確定性交給 AI,結果可能不穩定,我們不能期待 AI 會自動知道哪部分是文章正文。
( 雖然我這次是用同一個網站的新聞,這條就當作給你們的一點提醒,之後你們可能會使用不同網站的 HTML 內容,要多多注意!)
解讀有風險:雖然 Gemini 能理解 HTML,有兩個原因我們要把標籤、換行號等字元刪除。
HTML ( HyperText Markup Language ) 是一種標記語言,可以用來建立網頁,常與 CSS、JavaScript搭配使用,設計網頁排版及畫面。瀏覽器會讀取 HTML 一系列的標籤轉變成供使用者閱覽的頁面。
再來我就要介紹 HTML 的基本語法架構啦 ~ 我會說明在此次選擇的新聞網站「CNA」中比較重要的一些語法。
下面是最基本的 HTML 架構:
<!DOCTYPE html>
<html>
<head>
<title>網頁標題</title>
<!-- 其他元訊息 -->
</head>
<body>
<!-- 網頁內容 -->
</body>
</html>
<!DOCTYPE html>
DOCTYPE 是 Document Type 的縮寫,用來告訴瀏覽器:「我是 HTML !」
<html>
HTML 文檔的根元素,一個文檔的開頭,所有 HTML 內容都應該被包含在這個標籤裡面。
<head>
包含了一些不會直接顯示在網頁上的設定,例如:字元編碼(charset="UTF-8")、
標題(<title>
)
<body>
實際給使用者看到的網頁內容,常見的元素有:標題(<h1>
)、段落(<p>
)、連結(<a>
)、圖片(<img>
)等。大部分我們感興趣的內容(例如新聞正文、圖片等)都在這個標籤裡。
元素架構是由數個 <element> Content </element>
這樣形式的元素組合而成。
<element>
)< >
」中。例如 <p>
是一個段落元素。</element>
)/
」。在看一篇文章時,我們會透過標題字體的大小來分辨文章結構,下面就是在 HTML 中設定標題的方法,以此類推。
<h1> 主標題 </h1>
<h2> 次標題 </h2>
<h3> 更小的標題 </h3>
<a href="https://www.pcschool.com.tw/webdesign"> CNA News </a>
<a>
是 HTML 裡用來建立超連結的標籤。<a>
標籤之間的文字(上例中的 CNA News)就是網頁上會顯示的可點擊文字。在新聞頁面中,<a>
標籤通常會用來:
<img src="https://i.ibb.co/HpgWvFPL/image.png" alt="示意圖" >
(輸入網址進去看!我自己用滑鼠寫的字👉👈)
<img>
是用來在網頁上插入圖片的標籤在新聞頁面中,<img>
標籤通常會用來:
再看一眼上面的例子,你有沒有發現它後面沒有結束標籤(</>)?
因為<img>
是一個空元素,它沒有內容,所以也沒有結束標籤!
你可以到 CNA 的新聞頁面按下鍵盤的「 F12」,或是在頁面空白處按下滑鼠右鍵,點擊最下方的「檢查」,打開開發者工具畫面看看這個網頁的各種標籤:<head>
、<body>
、<p>
、<img>
對應在頁面的哪個位置,這樣明天你就能更清楚知道我在抓取哪裡的內容~
(點擊開發者工具畫面左上方的小箭頭,再點選左邊你要看的新聞內容,開發者工具就會自己追蹤點選處的標籤位置!)
(範例截圖:CNA 新聞頁面 + Microsoft Edge 開發者工具)
❓不同瀏覽器的開發者工具外觀略有差異,但功能基本一致!
在這個專案裡, HTML 就像是一鍋大雜燴,而我們的程式碼是一隻漏勺,負責將想吃的東西(新聞正文)撈出來,去掉不喜歡的東西(訂閱廣告、圖片等),再送給 AI 處理。看完這篇文了解 HTML語法之後,就能在接下來挑選的過程中更精準地拿取需要的內容,讓摘要更準確!
明天(Day 7)我們要回到 n8n,開始篩選新聞內容提取正文,好讓 AI 去摘要!