Real Simple Syndication
With the RSS API you have the power to create powerful tools and applications.
RSS is a great way to reliably subscribe to, track and build around your
favorite content sources. Here are some examples of things you can create
using the RSS API:
module.exports = defineComponent({
props: {
rss: {
type: "app",
app: "rss",
}
},
async run({steps, $}) {
// Retrieve items from a sample feed
const Parser = require('rss-parser');
const parser = new Parser();
const stories = []
// Replace with your feed URL
const url = "https://pipedream.com/community/latest.rss"
const feed = await parser.parseURL(url);
const { title, items } = feed
this.title = title
if (!items.length) {
$end("No new stories")
}
this.items = items
},
})
Browserless allows you to build websites and applications that can be used
without a web browser. This means that you can create apps that can be used
offline, or that can be used on devices that don't have a web browser
installed.
Some examples of things that you can build using Browserless are:
import puppeteer from 'puppeteer-core@14.1.0';
export default defineComponent({
props: {
browserless: {
type: "app",
app: "browserless",
}
},
async run({steps, $}) {
// See the browserless docs for more info:
// https://www.browserless.io/docs/
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://chrome.browserless.io?token=${this.browserless.$auth.api_key}`
})
const page = await browser.newPage()
const url = "https://example.com"
const type = "png"
await page.goto(url)
const screenshot = await page.screenshot()
// export the base64-encoded screenshot for use in future steps,
// along with the image type and filename
$.export("screenshot", Buffer.from(screenshot, 'binary').toString('base64'))
$.export("type", type)
$.export("filename",`${url.replace(/[&\/\\#, +()$~%.'":*?<>{}]/g, '_')}-${+new Date()}.${type}`)
await browser.close()
},
})