{
"id": 8,
"name": "Get only new RSS with Photo",
"nodes": [
{
"name": "Cron",
"type": "n8n-nodes-base.cron",
"position": [
1050,
920
],
"parameters": {
"triggerTimes": {
"item": [
{
"mode": "everyX",
"unit": "minutes",
"value": 5
}
]
}
},
"typeVersion": 1
},
{
"name": "RSS Feed Read",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
1220,
920
],
"parameters": {
"url": "http:\/\/www.theverge.com\/rss\/full.xml"
},
"executeOnce": true,
"typeVersion": 1
},
{
"name": "Extract Image1",
"type": "n8n-nodes-base.htmlExtract",
"position": [
1740,
920
],
"parameters": {
"options": [],
"dataPropertyName": "=content",
"extractionValues": {
"values": [
{
"key": "image",
"attribute": "src",
"cssSelector": "img",
"returnValue": "attribute"
}
]
}
},
"typeVersion": 1
},
{
"name": "Filter RSS Data",
"type": "n8n-nodes-base.set",
"position": [
1390,
920
],
"parameters": {
"values": {
"string": [
{
"name": "Title",
"value": "={{$node[\"RSS Feed Read\"].json[\"title\"]}}"
},
{
"name": "Subtitle",
"value": "={{$json[\"contentSnippet\"]}}"
},
{
"name": "Author",
"value": "={{$json[\"creator\"]}}"
},
{
"name": "URL",
"value": "={{$node[\"RSS Feed Read\"].json[\"link\"]}}"
},
{
"name": "Date",
"value": "={{$node[\"RSS Feed Read\"].json[\"pubDate\"]}}"
},
{
"name": "content",
"value": "={{$json[\"content\"]}}"
}
]
},
"options": [],
"keepOnlySet": true
},
"typeVersion": 1
},
{
"name": "Only get new RSS1",
"type": "n8n-nodes-base.function",
"position": [
1560,
920
],
"parameters": {
"functionCode": "const staticData = getWorkflowStaticData('global');\nconst newRSSIds = items.map(item => item.json[\"Date\"]);\nconst oldRSSIds = staticData.oldRSSIds; \n\nif (!oldRSSIds) {\n staticData.oldRSSIds = newRSSIds;\n return items;\n}\n\n\nconst actualNewRSSIds = newRSSIds.filter((id) => !oldRSSIds.includes(id));\nconst actualNewRSS = items.filter((data) => actualNewRSSIds.includes(data.json['Date']));\nstaticData.oldRSSIds = [...actualNewRSSIds, ...oldRSSIds];\n\nreturn actualNewRSS;\n"
},
"typeVersion": 1
}
],
"active": false,
"settings": [],
"connections": {
"Cron": {
"main": [
[
{
"node": "RSS Feed Read",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed Read": {
"main": [
[
{
"node": "Filter RSS Data",
"type": "main",
"index": 0
}
]
]
},
"Extract Image1": {
"main": [
[]
]
},
"Filter RSS Data": {
"main": [
[
{
"node": "Only get new RSS1",
"type": "main",
"index": 0
}
]
]
},
"Only get new RSS1": {
"main": [
[
{
"node": "Extract Image1",
"type": "main",
"index": 0
}
]
]
}
}
}