Generate Images from Airbnb reviews with Airtable and Data Miner

— Juliet Edjere

Use Bannerbear to generate unique, branded social media content from Airbnb reviews. Data Miner is a data extraction tool that lets you scrape any HTML web page into XLS, CSV, XLSX or TSV files (.xls .csv .xlsx .tsv)

Bannerbear is an automated image generation service that helps you and your team auto-generate social media visuals, e-commerce banners, podcast videos and more. Bannerbear includes a free trial, no credit card required, that allows you to generate up to 30 images.

What we will do

In this tutorial, here's what we're going to do:

  • Scrape an Airbnb listing page using Data Miner Scraper
  • Collect structured Airbnb data into Airtable base
  • Pull data in from an Airtable sheet via a direct Bannerbear integration to generate image cards from the reviews

When we're done the finished results will look something like this - importing data from Airtable and performing automated image generation (in the last column):

With the final images looking like this:

Sounds easy, and it is, so let's get started.

Create a Bannerbear Project

Sign in to your Bannerbear account to create a new project:

Click save.

Bannerbear provides the flexibility of creating your own template using the Bannerbear template editor.

For this tutorial, let's keep things simple and use a sample template which you can customize. Click on Browse Template Library :

Proceed to add the Twitter Bubble Square template to your project:

Retrieve Project API Key

Navigate back to the project homepage and click the Settings/API Key button:

Copy the Project API key to your clipboard, you will need it later to integrate with Zapier:

Run Recipe in Data Miner

The first step is to install the extension from the Chrome store HERE. You will need Google Chrome to install most apps, extensions and themes. The extension allows you to select the data that you wish to extract from websites.

We need to pull the:

  • Property Name and Location
  • Reviewer Avatar
  • Review
  • Review Date
  • Reviewer name

After installing the extension, navigate to the Airbnb listing that you wish to scrape. Scroll through the page and click Show all reviews button:

First, scroll to the bottom of the page (or as far down as possible) to load all reviews. Next, launch the Data Miner extension icon:

Click on the link to make your own recipe for this page:

The Recipe Creator by Data Miner window will launch. Navigate to 'Step 2: Type' and select the List/Search Page option:

Move to 'Step 4: Rows' and click the Easy Row Finder button. To select the first row, hover your mouse over the first item of the list you want to scrape and hit the 1 button on your keyboard to highlight the selected item:

To select the second row, hover your mouse over the second item of list you want to scrape and hit the 2 button on your keyboard to highlight the selected item:

Data Miner will find a specified number of rows. If this is the correct number of rows for this page, click Confirm:

Next navigate to 'Step 5: Cols' to specify which parts of the page will be scraped into various columns of your output CSV file. Click the Add New Column button.

Rename the column as Image and click the Easy Column Finder button. Select Image URL as the type of data this column will extract. Hover your mouse over the image avatar and hit the C button on your keyboard:

Click confirm and proceed to add a new column.

Following the steps above, rename the column as Review and select the Easy Column Finder button. Select Text as the type of data this column will extract. Hover your mouse over the review text and hit the C button on your keyboard:

Click confirm and proceed to add a new column.

Again, rename the column as Date and select the Easy Column Finder button. Select Text as the type of data this column will extract. Hover your mouse over the date and hit the C button on your keyboard:

Click confirm and proceed to add a new column.

Finally, rename the column as Name + Date and select the Easy Column Finder button. Select Text as the type of data this column will extract. Hover your mouse over the date and name element only and hit the C button on your keyboard:

Save the recipe and click Scrape in Data Miner :

Data Miner will redirect to Page Scrape. Click the Scrape button and Download as a CSV file:

Next, we will sign in to Airtable to connect Bannerbear.

Bannerbear + Airtable

Airtable is a relational database tool that's also an online collaboration tool. Using this basic technique, you can pass in hundreds or thousands of rows of data into Bannerbear and generate large batches of images in seconds.

Add a new base and click import data to upload the CSV file downloaded from Data Miner:

Add extra columns

Add three columns to your Airtable sheet:

  • name (formula) to input the formula SUBSTITUTE({Name + Date}, Date, ''). This will tell Airtable to extract the reviewer's name.
  • imported (checkbox) will show up as checked once Bannerbear has imported something.
  • bannerbear_image_url (URL) will be populated with the final image that Bannerbear generates.

Get Airtable API Key

Next, you will need to grab some Airtable credentials to integrate with Bannerbear. You can find your Airtable API Key in the Account section of Airtable.

Copy the key to your clipboard:

Next, add the Airtable API Key to Bannerbear in the Account Settings section:

Connect Airtable to the template

On your template page scroll down to find the Airtable icon - click it to go to the Airtable integration page:

Import data from existing columns into your Bannerbear template.

Set the Base ID and Table Name

Every Airtable Base has a special Base ID and Table Name that you need to use to connect with the Template.

Base ID

You can find the Base ID in the API Documentation on Airtable:

The Base ID generally looks something like this: app123456789ABC

It is an alphanumeric ID with the word app at the start and is shown at the top of the Airtable API Documentation page:

Table Name

The Table Name is the sheet/tab name inside the Airtable Base that you are using. In this case, the table name is the Imported table. Input those details into Bannerbear, Save & Connect:

Map the following fields and click Save :

Import data

Hit the Import button in Bannerbear. Bannerbear will check the checkbox ☑ column named imported in Airtable.

All your images will be listed in the Bannerbear dashboard.

If you go back to your Airtable you will see the image URLs appear automatically as Bannerbear generates your requested media:

Next Steps

You can customize the templates however you like. Now push this Airtable data to multiple templates at once in the exact same way as above by creating a Template Set in Bannerbear.

In this way, you can import Airtable data into multiple sizes/designs at once to generate unique, branded social media content for your business (or your clients), suitable for posting on Instagram, Facebook etc.

This article was originally published on Bannerbear.com in November, 2021. Written by: Juliet Edjere


ABOUT ME

I'm Juliet 'Hiri' Edjere, a no-code expert focused on design, business development, and building scalable solutions with minimal coding knowledge.

I document all things product stories, MVP validation, and how designs, data, and market trends connect to one another.

In our world where innovation knows no boundaries, and creativity reigns supreme, no-code is a game-changer in today's tech landscape. Whether you're a developer looking to expand your skill set or a beginner curious about creating without writing a single line of code, you will learn from practical examples, and explore the possibilities of no-code technology. Together, we'll navigate the tools, platforms, and strategies – one blog post at a time!

Visit my website →

Powered By Swish