Workflow: Tóm tắt Google Trends gửi qua Telegram

Workflow: Tóm tắt Google Trends gửi qua Telegram

Workflow: Tóm tắt Google Trends gửi qua Telegram
Định dạng: .Zip
Dung lượng: 2,4 KB
Lượt tải: 0 lượt
Tải về miễn phí

Workflow Tóm tắt Google Trends gửi qua Telegram sẽ giúp bạn tự động lấy danh sách từ khoá đang thịnh hành trên Google Trends, tổng hợp lại thành một tin nhắn gọn gàng và gửi vào Telegram theo lịch cố định mỗi ngày. Workflow gồm 5 node, chạy nối tiếp nhau.

Tổng quan kiến trúc workflow

Workflow Tóm tắt Google Trends gửi qua Telegram
Tổng quan kiến trúc Workflow Tóm tắt Google Trends gửi qua Telegram

Cơ chế hoạt động

Workflow chạy theo trình tự sau mỗi khi được kích hoạt:

  1. Kích hoạt theo lịch: node Schedule Trigger tự động chạy vào 2 mốc giờ cố định mỗi ngày (8h30 và 14h00). Đây là điểm khởi đầu duy nhất, không cần can thiệp thủ công.
  2. Gọi Google Trends RSS: node HTTP Request gửi một request GET tới địa chỉ https://trends.google.com/trending/rss?geo=VN. Đây là feed RSS chính thức của Google Trends, trả về dữ liệu dạng XML (không phải JSON) chứa danh sách các từ khoá đang được tìm kiếm nhiều trong khoảng thời gian gần nhất tại Việt Nam. Mỗi từ khoá trending được bọc trong thẻ <item>, bên trong có tiêu đề (<title>), lượng tìm kiếm ước tính (<ht:approx_traffic>), và các tin tức liên quan (<ht:news_item>).
  3. Parse XML bằng regex: vì n8n không có node "XML to JSON" xử lý tốt namespace ht: của Google Trends, node Code dùng regular expression để tự bóc tách thủ công:
    • Quét toàn bộ khối <item>...</item> trong chuỗi XML
    • Từ mỗi khối, lấy tiêu đề (ưu tiên dạng có CDATA, nếu không có thì lấy dạng thường)
    • Lấy số liệu lượng tìm kiếm và tối đa 2 tin tức liên quan mỗi từ khoá
    • Giới hạn kết quả ở 10 từ khoá đầu tiên để tin nhắn không quá dài
    • Đồng thời tính sẵn giờ và ngày hiện tại theo múi giờ Việt Nam (Asia/Ho_Chi_Minh) để hiển thị trong tin nhắn
  4. Dựng nội dung tin nhắn: node Code thứ hai nhận dữ liệu đã parse (vnTrends, timeStr, dateStr) và ghép thành một chuỗi text định dạng Markdown của Telegram. Nếu không có từ khoá nào (vnTrends rỗng), tin nhắn sẽ hiển thị dòng "Không có dữ liệu" thay vì để trống.
  5. Gửi qua Telegram Bot API: node Telegram cuối cùng gọi API sendMessage của Telegram, dùng Bot Token đã lưu trong credential để gửi nội dung message tới đúng chatId được chỉ định.

Thiết lập ban đầu trước khi triển khai

Trước khi bắt đầu, hãy chuẩn bị sẵn:

Hướng dẫn triển khai cấu hình Workflow

Bước 1: Cấu hình node lịch chạy (Schedule Trigger)

Node Schedule 8h30 & 14h dùng loại Schedule Trigger với hai biểu thức cron chạy song song:

  • 30 8 * * * – chạy lúc 8:30 sáng mỗi ngày
  • 0 14 * * * – chạy lúc 14:00 chiều mỗi ngày

Cách thiết lập:

  1. Kéo node Schedule Trigger vào khu vực làm việc
  2. Trong phần Rule Interval, chọn kiểu Cron Expression
  3. Thêm 2 dòng interval với 2 biểu thức cron ở trên
  4. Kiểm tra và đặt múi giờ Asia/Ho_Chi_Minh trong phần cài đặt instance để giờ chạy đúng với giờ Việt Nam.

Bước 2: Cấu hình node lấy dữ liệu Google Trends (HTTP Request)

Node Fetch Google Trends VN:

  1. URL: https://trends.google.com/trending/rss?geo=
  2. Trong Options Response Response Format, chọn Text (vì kết quả trả về là XML, không phải JSON)
  3. Bật On Error Continue (using error output) để nếu Google Trends lỗi tạm thời, workflow vẫn tiếp tục chạy thay vì dừng hẳn

Bước 3: Cấu hình node xử lý dữ liệu

Node Parse & Merge Trends dùng loại Code (JavaScript) để:

  • Đọc XML trả về từ node HTTP Request phía trên
  • Dùng regex bóc tách các thẻ <item>, <title>, <ht:approx_traffic>, <ht:news_item_title> trong RSS feed
  • Tự phân loại dữ liệu VN/Global dựa trên chuỗi geo=VN / geo=US có trong nội dung XML trả về
  • Tính thời gian hiện tại theo múi giờ Việt Nam để hiển thị trong tin nhắn

Bạn dán nguyên đoạn JavaScript xử lý parse RSS vào ô code (đoạn code này đã có sẵn trong file JSON workflow, không cần viết lại).

Bước 4: Cấu hình node dựng nội dung tin nhắn

Node Build Telegram Message này lấy dữ liệu đã parse ở bước 3 và định dạng thành chuỗi văn bản Markdown, có emoji, tiêu đề, danh sách từ khoá trending kèm số lượt tìm kiếm và tin tức liên quan. Kết quả cuối cùng là một field message chứa toàn bộ nội dung sẽ gửi đi.

Bước 5: Cấu hình node gửi Telegram

Mở node Send Telegram và điền:

Trường Giá trị
Credential Chọn Telegram API đã kết nối
ChatID ID của group/channel nhận thông báo
Text {{ $json.message }}

Bước 6: Kiểm tra và kích hoạt

  • Bấm Execute Workflow để chạy thử thủ công, kiểm tra node Fetch Google Trends VN có trả về XML hợp lệ không.
  • Kiểm tra tin nhắn nhận được trên Telegram có hiển thị đúng định dạng, đủ danh sách trending
  • Sau khi chạy thử ổn, bấm Public ở góc trên bên phải để bật lịch chạy tự động

Lỗi thường gặp

1. Tin nhắn Telegram luôn hiện "Không có dữ liệu"

  • Nguyên nhân phổ biến nhất: tham số geo= trong URL của node Fetch bị để trống hoặc sai mã quốc gia. Kiểm tra lại URL phải là https://trends.google.com/trending/rss?geo=VN
  • Chạy thử riêng node Fetch Google Trends VN (nút "Test step"), xem output có phải chuỗi XML chứa các thẻ <item> hay không. Nếu output rỗng hoặc là trang lỗi HTML, khả năng cao Google đã chặn request hoặc đổi endpoint

2. Node HTTP Request báo lỗi 429 hoặc 403

  • Google có thể giới hạn tần suất gọi RSS từ cùng một IP. Vì workflow chỉ chạy 2 lần/ngày nên trường hợp này hiếm, nhưng nếu bạn test thủ công nhiều lần liên tiếp trong thời gian ngắn có thể bị chặn tạm thời, trong trường hợp đó đợi vài phút rồi thử lại.
  • Vì node đã bật onError: continueRegularOutput, workflow sẽ không dừng hẳn nhưng dữ liệu output có thể chứa thông báo lỗi thay vì XML thật - cần kiểm tra output thủ công để phát hiện.

3. Tin nhắn không gửi được tới Telegram (node Send Telegram báo lỗi)

  • Sai chatId: nếu bạn nhập nhầm ID hoặc chưa từng nhắn tin cho bot trước đó, Telegram sẽ trả lỗi "chat not found". Với chat cá nhân, bạn phải chủ động nhắn /start cho bot ít nhất một lần trước khi bot có thể gửi tin cho bạn.
  • Sai hoặc hết hạn Bot Token trong credential: kiểm tra lại token đã dán đúng chưa, hoặc token có bị bạn vô tình revoke qua BotFather (/revoke) không.
  • Bot chưa được thêm vào group (nếu gửi vào group): cần add bot vào group và cấp quyền gửi tin nhắn.

4. Node Code báo lỗi khi chạy

Thường do dữ liệu đầu vào không phải chuỗi text như mong đợi (ví dụ node Fetch trả JSON thay vì text). Kiểm tra lại node Fetch đã chọn đúng Response Format: Text trong phần Options chưa

Lưu ý khi vận hành

  • Nếu workflow không ra dữ liệu, kiểm tra trước tiên tham số geo= trong URL của node Fetch Google Trends VN (xem Bước 2)
  • Google Trends RSS đôi khi thay đổi cấu trúc XML — nếu tin nhắn trống dù đã sửa geo=VN, hãy chạy thử riêng node Fetch để xem nội dung XML trả về có đúng định dạng <item>...</item> như code đang tìm không
  • Bot Token là thông tin nhạy cảm, không nên chia sẻ file JSON export workflow nếu chưa xoá phần credential
Workflow: Tóm tắt Google Trends gửi qua Telegram
Định dạng: .Zip Dung lượng: 2,4 KB Lượt tải: 0 lượt
31 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ Workflow mẫu