knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%", cache = TRUE )
The goal of poddr is to collect podcast data so I can display it at podcasts.jemu.name. It's not intended to be a real package for real people.
You can install the released version of poddr from here with:
remotes::install_github("jemus42/poddr")
Here's the bulk of what's inside the tin:
library(dplyr, warn.conflicts = FALSE) library(poddr)
The basic workflow is simple:
incomparable_shows <- incomparable_get_shows() incomparable_shows incomparable_episodes <- incomparable_shows |> filter(show == "Unjustly Maligned") |> incomparable_get_episodes() incomparable_episodes
Same procedure as before, also with one show.
relay_shows <- relay_get_shows() relay_shows relay_episodes <- relay_shows |> filter(show == "Connected") |> relay_get_episodes() relay_episodes
Since there's only one show, there's no reason to select one specifically, obviously. However, the website doesn't show a list of all episodes on one page, so we'll have to either parse all pages (there's currently 10 total as of December 2020), or select a limit, like 1
, to only get episodes from the first page.
The first page shows the 5 most recent episodes, and subsequent pages show 50 episodes each.
atp <- atp_get_episodes(page_limit = 1) atp # Looking at the links atp |> tidyr::unnest(links) |> select(number, title, link_text, link_url, link_type)
The regular episode data contains one row per episode, with associated people in a single cell with names separated by ;
. In some cases we're interested in per-person data, for example the total number of appearances of a person on The Incomparable mothership, so we'll longify the data with a helper function that performs the tidyr::pivot_longer()
and tidyr::separate_rows()
steps consistently.
Note that relay.fm data only includes "hosts", as there's no separate guest information, so the host/guest distinction is redundant in that case.
incomparable_episodes |> gather_people() |> select(show, number, person, role) relay_episodes |> gather_people() |> select(show, number, person, role)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.