Scrape and Summarize News Posts Without RSS
Scheduled trigger → fetch list page, extract links and dates → filter recent posts → fetch each article → GPT-4 summary and keywords → save to NocoDB
- Who
- Content operators or market researchers who need to monitor news sites that lack RSS feeds
- You get
- Automatically grab latest news weekly, generate under-70-word summaries and 3 technical keywords, store structured results in a database
- You need
- n8n
Constraints
Prerequisites: n8n instance; OpenAI API account (ChatGPT consumer account is not sufficient); NocoDB database and API token. Basic CSS selector knowledge required to adapt to target sites. Note: the source code filter uses a configurable lookback (sample shows -70 days) and must be synced with the cron schedule; CSS selectors are site-specific and must be adjusted.
What they did
Author askans created this n8n template to monitor Colt's news page, which lacks an RSS feed. The workflow triggers weekly, scrapes the list page for links and dates, filters recent articles, fetches each detail page, calls GPT-4-1106-preview in parallel to generate under-70-word summaries and 3 technical keywords, and stores structured results in NocoDB.
How it went
Published as an n8n.io template with full node wiring and parameters. Author reports the core flow is functional, with notes that CSS selectors must be adapted per target site and not all sites permit high-frequency scraping (author_report).
Worth knowing
1) The source code filter defaults to -70 days (comment says configurable) while description mentions last 7 days; sync this with your cron schedule. 2) CSS selectors depend entirely on target site DOM and must be re-acquired for other sites. 3) NocoDB projectId and table ID are example values and must be replaced with your own. 4) Requires an OpenAI API account, not a ChatGPT Plus subscription. 5) No built-in error handling or rate limiting; consider adding for production. 6) Output target is replaceable with email, Excel, etc., not limited to NocoDB.
n8n workflow template
Structure checked · Not run-testedUse “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.
Setup and test checklist
Credentials to connect
- Summary node: connect OpenAI API credentials.
- Keywords node: connect OpenAI API credentials.
- NocoDB news database node: connect nocoDbApiToken credentials.
Configuration to replace
- Source template is n8n public workflow #2180 (~36 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
- Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.
Test input and expected output
- Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
- Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.
Template changes
- Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
- No business-logic edits; verify keys, quotas and privacy compliance before use.
Template retrieved: 2026-10-25
Steps
Set up schedule trigger and target site
Add a Schedule Trigger node in n8n, set to weekly (e.g. Wednesday 04:32). Add an HTTP Request node with the target news list URL (example: https://www.colt.net/resources/type/news/), response format set to text.
Extract article links and dates
Use HTML nodes to extract from the list page: 1) article links (CSS selector targeting a tag href, returnArray=true); 2) publication dates (separate CSS selector, returnArray=true). Then use Item Lists nodes to split each array into individual JSON items (field names set to Link and Date respectively).
Merge and filter recent posts
Merge link and date items by position with a Merge node. Add a Code node running JavaScript to filter: calculate current date minus lookback days (e.g. 7, must sync with cron), keep items where Date is within range.
Execution prompt · Source text。Code node jsCode field
const currentDate = new Date(); const sevenDaysAgo = new Date(currentDate.setDate(currentDate.getDate() - 70)); // Change the number of days going back to your liking (e.g. from -7 to -1) -> BUT sync with the cron job (first node) const filteredItems = items.filter(item => { const postDate = new Date(item.json["Date"]); // Assuming "Date" is the field name in the extracted html return postDate >= sevenDaysAgo; }); return filteredItems;Fetch and extract individual articles
For each filtered article, use an HTTP Request node with {{ $json["Link"] }} as URL to fetch detail HTML. Use an HTML node to extract title (e.g. h1.fl-heading > span:nth-child(1)) and content (e.g. .fl-node-5c7574ae7d5c6 > div:nth-child(1)), then merge with date and link via a Merge node.
Generate summary and keywords with GPT-4
Call two OpenAI nodes in parallel (model gpt-4-1106-preview): Summary node takes content and generates under-70-word summary; Keywords node extracts 3 most important technical keywords (keywords only, no explanations). Use Set nodes to rename outputs to summary and keywords, then merge them.
Execution prompt · Source text。OpenAI Summary node prompt.messages[0].content
=Create a summary in less than 70 words {{ $json["content"] }}Execution prompt · Source text。OpenAI Keywords node prompt.messages[0].content
=name the 3 most important technical keywords in {{ $json["content"] }} ? just name them without any explanations or other sentencesMerge data and write to NocoDB
Merge article metadata (title, date, link) with GPT-4 outputs (summary, keywords) using a Merge node. Add a NocoDB node, configure projectId, table, authentication (nocoDbApiToken), map fields: News_Source=Colt, Title={{ $json["title"] }}, Date={{ $json["Date"] }}, Link={{ $json["Link"] }}, Summary={{ $json["summary"] }}, Keywords={{ $json["keywords"] }}, operation set to create.
Prompt you can copy
Setup guidance · Editorial suggestion。Setup assistant: confirm inputs and credentials first
This block is the prompt. Ads are never placed here.
Build an n8n workflow that: 1) periodically fetches a news list page; 2) extracts article links and dates with CSS selectors; 3) filters for recent posts; 4) fetches each article body; 5) calls GPT-4 for summary and keywords; 6) writes results to NocoDB. You need your own OpenAI API account and NocoDB credentials; CSS selectors must be adapted to the actual target site.
Key configs: sync cron period with date filter lookback; obtain CSS selectors via browser dev tools; create NocoDB table structure before running.
Source
Scrape and summarize posts of a news site without RSS feed using AI and save them to a NocoDB · askans · n8n.io · 2024-03-17
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.