Skip to content

Instantly share code, notes, and snippets.

@psychemedia
Last active July 25, 2024 13:53
Show Gist options
  • Save psychemedia/3032727bd4dc046f0a5611a7332c8aae to your computer and use it in GitHub Desktop.
Save psychemedia/3032727bd4dc046f0a5611a7332c8aae to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "68306eda-af4d-4f24-80d4-7f7b49d0671c",
"metadata": {},
"source": [
"# Grid scraper\n",
"\n",
"Scrape https://vfringe.co.uk/grid/ into something useful..."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "a7e55e5a-e16d-4a8d-93d0-7c931142f3ce",
"metadata": {},
"outputs": [],
"source": [
"url = \"https://vfringe.co.uk/grid/\"\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "b4311c91-4680-44de-895d-85d6b8093171",
"metadata": {},
"outputs": [],
"source": [
"import requests\n",
"from bs4 import BeautifulSoup\n",
"\n",
"# Fetch the content from the URL\n",
"response = requests.get(url)\n",
"\n",
"# Parse the HTML content using BeautifulSoup\n",
"soup = BeautifulSoup(response.content, 'lxml')\n",
"\n",
"# Find all tables on the webpage\n",
"tables = soup.find_all('table')"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "9019258c-de37-42e2-92cb-d52999a8252f",
"metadata": {},
"outputs": [],
"source": [
"from datetime import datetime\n",
"date_format = '%Y%m%dT%H%M%S' # eg 20240722T100000\n",
"\n",
"data=[]\n",
"\n",
"for table in tables:\n",
" for cell in table.find_all('td'):\n",
" _title = cell.find(class_='vf_grid_cell_title')\n",
" if not _title:\n",
" continue\n",
" _data = {}\n",
" _data[\"dt_start\"] = datetime.strptime(cell.get('data-start', ''), date_format)\n",
" _data[\"dt_end\"] = datetime.strptime(cell.get('data-end', ''), date_format)\n",
" _data[\"date\"] = _data[\"dt_start\"].strftime('%Y-%m-%d')\n",
" _data[\"start\"] = _data[\"dt_start\"].strftime('%H:%M')\n",
" _data[\"end\"] = _data[\"dt_end\"].strftime('%H:%M')\n",
" _data[\"url\"] = cell.get('data-url', '')\n",
" _data[\"title\"] = _title.text\n",
" for _class in cell.get('class', []):\n",
" if _class.startswith('vf_grid_venue'):\n",
" _data['venue'] = _class.replace('vf_grid_venue_','')\n",
" data.append(_data)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "45808303-e437-41b0-9377-776bdb31d5eb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>start</th>\n",
" <th>end</th>\n",
" <th>title</th>\n",
" <th>venue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2024-07-22</td>\n",
" <td>10:00:00</td>\n",
" <td>16:00</td>\n",
" <td>Art in the Park</td>\n",
" <td>ventnorpark</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2024-07-22</td>\n",
" <td>10:00:00</td>\n",
" <td>16:00</td>\n",
" <td>Caulabyrinth - the absurdity of humans</td>\n",
" <td>peerstudios</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2024-07-22</td>\n",
" <td>10:30:00</td>\n",
" <td>12:30</td>\n",
" <td>art-house-life: Reality Disrupted</td>\n",
" <td>35madeirard</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2024-07-22</td>\n",
" <td>10:30:00</td>\n",
" <td>20:00</td>\n",
" <td>Place of Safety</td>\n",
" <td>lafalaisecarparkshelter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2024-07-22</td>\n",
" <td>12:00:00</td>\n",
" <td>17:30</td>\n",
" <td>Fringe Village Bandstand - Monday 22nd</td>\n",
" <td>fringevillagebandstand</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>272</th>\n",
" <td>2024-07-28</td>\n",
" <td>19:30:00</td>\n",
" <td>20:30</td>\n",
" <td>KIZZA: BIGFUNKYMAGICMAN</td>\n",
" <td>ingramsyard</td>\n",
" </tr>\n",
" <tr>\n",
" <th>273</th>\n",
" <td>2024-07-28</td>\n",
" <td>19:30:00</td>\n",
" <td>20:30</td>\n",
" <td>Hunter Davies: Letters to Margaret</td>\n",
" <td>ventnorartsclub</td>\n",
" </tr>\n",
" <tr>\n",
" <th>274</th>\n",
" <td>2024-07-28</td>\n",
" <td>20:00:00</td>\n",
" <td>23:00</td>\n",
" <td>Fringe Village DJ Listing Sunday 28th</td>\n",
" <td>thebigtopbar</td>\n",
" </tr>\n",
" <tr>\n",
" <th>275</th>\n",
" <td>2024-07-28</td>\n",
" <td>21:15:00</td>\n",
" <td>22:30</td>\n",
" <td>EAT, SLAY, LOVE - A Quivers Stand Up Show</td>\n",
" <td>themagpie</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276</th>\n",
" <td>2024-07-28</td>\n",
" <td>21:30:00</td>\n",
" <td>22:30</td>\n",
" <td>Bella Hull: Work in Progress</td>\n",
" <td>ingramsyard</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>277 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" date start end title \\\n",
"0 2024-07-22 10:00:00 16:00 Art in the Park \n",
"1 2024-07-22 10:00:00 16:00 Caulabyrinth - the absurdity of humans \n",
"2 2024-07-22 10:30:00 12:30 art-house-life: Reality Disrupted \n",
"3 2024-07-22 10:30:00 20:00 Place of Safety \n",
"4 2024-07-22 12:00:00 17:30 Fringe Village Bandstand - Monday 22nd \n",
".. ... ... ... ... \n",
"272 2024-07-28 19:30:00 20:30 KIZZA: BIGFUNKYMAGICMAN \n",
"273 2024-07-28 19:30:00 20:30 Hunter Davies: Letters to Margaret \n",
"274 2024-07-28 20:00:00 23:00 Fringe Village DJ Listing Sunday 28th \n",
"275 2024-07-28 21:15:00 22:30 EAT, SLAY, LOVE - A Quivers Stand Up Show \n",
"276 2024-07-28 21:30:00 22:30 Bella Hull: Work in Progress \n",
"\n",
" venue \n",
"0 ventnorpark \n",
"1 peerstudios \n",
"2 35madeirard \n",
"3 lafalaisecarparkshelter \n",
"4 fringevillagebandstand \n",
".. ... \n",
"272 ingramsyard \n",
"273 ventnorartsclub \n",
"274 thebigtopbar \n",
"275 themagpie \n",
"276 ingramsyard \n",
"\n",
"[277 rows x 5 columns]"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"df = pd.DataFrame(data)\n",
"cols = [\"date\", \"start\", \"end\", \"title\", \"venue\"]\n",
"df[cols]"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "2a974002-db25-41d5-9072-c6dce00c9605",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"date\tstart\tend\ttitle\tvenue\n",
"2024-07-22\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-22\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-22\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-22\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-22\t12:00:00\t17:30\tFringe Village Bandstand - Monday 22nd\tfringevillagebandstand\n",
"2024-07-22\t12:00:00\t12:30\tTony ‘Monty’ Hirst\tfringevillagebandstand\n",
"2024-07-22\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-22\t13:00:00\t13:30\tNeil Williams\tfringevillagebandstand\n",
"2024-07-22\t14:00:00\t14:30\tMarc Lebone’s Run with the Pineapple\tfringevillagebandstand\n",
"2024-07-22\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-22\t15:00:00\t15:30\tTBC\tfringevillagebandstand\n",
"2024-07-22\t16:00:00\t16:30\tDepresstival\tfringevillagebandstand\n",
"2024-07-22\t17:00:00\t17:30\tTBC\tfringevillagebandstand\n",
"2024-07-22\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-22\t19:00:00\t21:00\tCarnabys Fringe Folk Evening\tcarnabystearoom\n",
"2024-07-23\t09:30:00\t10:30\tSummer Soundwaves Sound Bath\tthenest\n",
"2024-07-23\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-23\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-23\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-23\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-23\t12:00:00\t17:30\tFringe Village Bandstand - Tuesday 23rd\tfringevillagebandstand\n",
"2024-07-23\t12:00:00\t12:30\tTBC\tfringevillagebandstand\n",
"2024-07-23\t12:00:00\t14:00\tFuture Works\ttheflowersbrookinn\n",
"2024-07-23\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-23\t13:00:00\t13:30\tThe Tuesdayz\tfringevillagebandstand\n",
"2024-07-23\t13:00:00\t14:00\tNaughty or Neurodiverse? I'm a Mentalist - the Magic of Angus Baskerville\tthemagpie\n",
"2024-07-23\t13:00:00\t15:00\tRevel Puck Circus: The Nose Dive Assembly\tthebigtop\n",
"2024-07-23\t13:00:00\t13:30\tConner Cyrus Reece\tfringesquare\n",
"2024-07-23\t13:00:00\t14:00\tBoulevard Days: A Play with Songs\tpierstreetplayhouse\n",
"2024-07-23\t14:00:00\t14:30\tDouble Take\tfringevillagebandstand\n",
"2024-07-23\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-23\t14:00:00\t14:20\tFilm Screening: Zedhead - An Otherworldly Adventure!\tventnorartsclub\n",
"2024-07-23\t14:40:00\t15:00\tFilm Screening: Zedhead - An Otherworldly Adventure!\tventnorartsclub\n",
"2024-07-23\t15:00:00\t15:30\tSKaMP?\tfringevillagebandstand\n",
"2024-07-23\t15:00:00\t15:30\tV.U.L.G.A\tfringesquare\n",
"2024-07-23\t16:00:00\t16:30\tPoppy Janella\tfringevillagebandstand\n",
"2024-07-23\t16:00:00\t16:30\tDouble Take\tingramsyard\n",
"2024-07-23\t16:30:00\t17:50\tFilm Screening: Boxed In\tventnorartsclub\n",
"2024-07-23\t17:00:00\t17:30\tTBC\tfringevillagebandstand\n",
"2024-07-23\t17:00:00\t18:00\tRob Auton: ‘The Eyes Open and Shut Show’\ttheflowersbrookinn\n",
"2024-07-23\t17:00:00\t18:00\tThe Last King of Porn\tingramsyard\n",
"2024-07-23\t17:30:00\t18:30\tOperaCocktail\tthemagpie\n",
"2024-07-23\t18:00:00\t19:00\tMurder, She Didn't Write\tthebigtop\n",
"2024-07-23\t18:00:00\t19:00\tIsabella: The Last Queen of the Wight\tpierstreetplayhouse\n",
"2024-07-23\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-23\t19:00:00\t20:00\tHuge Davies (Work in Progress)\ttheflowersbrookinn\n",
"2024-07-23\t19:30:00\t20:30\tMicky Overman: Work In Progress\tingramsyard\n",
"2024-07-23\t19:30:00\t20:30\tThe Story of Two Tone with author Daniel Rachel (SOLD OUT)\tventnorartsclub\n",
"2024-07-23\t21:00:00\t22:00\tEddy Hare: This One's On Me\ttheflowersbrookinn\n",
"2024-07-23\t21:15:00\t22:15\tSophie Duker is on fire (Work in Progress)\tthemagpie\n",
"2024-07-23\t21:30:00\t22:30\tNiall Moorjani’s The Green Knight (But It’s Gay)\tingramsyard\n",
"2024-07-23\t21:30:00\t22:30\tIsle of Wight Comedy Showcase\tventnorartsclub\n",
"2024-07-24\t09:30:00\t10:30\tSummer Soundwaves Sound Bath\tthenest\n",
"2024-07-24\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-24\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-24\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-24\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-24\t12:00:00\t17:30\tFringe Village Bandstand - Wednesday 24th\tfringevillagebandstand\n",
"2024-07-24\t12:00:00\t13:30\tDrawing Club with Katy Rose Design\ttheflowersbrookinn\n",
"2024-07-24\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-24\t13:00:00\t13:30\tTBC\tfringevillagebandstand\n",
"2024-07-24\t13:00:00\t14:00\tNaughty or Neurodiverse? I'm a Mentalist - the Magic of Angus Baskerville\tthemagpie\n",
"2024-07-24\t13:00:00\t15:00\tRevel Puck Circus: The Nose Dive Assembly\tthebigtop\n",
"2024-07-24\t13:00:00\t16:00\tVentnor Art Collective and friends Summer Exhibition\t2738amadeiraroad\n",
"2024-07-24\t13:00:00\t13:30\tHavenstreet Ukulele\tingramsyard\n",
"2024-07-24\t13:00:00\t14:00\tBoulevard Days: A Play with Songs\tpierstreetplayhouse\n",
"2024-07-24\t14:00:00\t14:30\tThe Eye of the Dawn dancers\tfringevillagebandstand\n",
"2024-07-24\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-24\t14:00:00\t15:00\tTales of Britain and Ireland\tingramsyard\n",
"2024-07-24\t15:00:00\t15:30\tMonty/Malcolm Carlo\tfringevillagebandstand\n",
"2024-07-24\t15:00:00\t16:30\tAn Afternoon of Comedy and Tragedy\tpierstreetplayhouse\n",
"2024-07-24\t16:00:00\t16:30\tThe Bobs\tfringevillagebandstand\n",
"2024-07-24\t16:00:00\t16:30\tV.U.L.G.A\tfringesquare\n",
"2024-07-24\t16:30:00\t17:30\tMiddle Age Crisis\tventnorartsclub\n",
"2024-07-24\t17:00:00\t17:30\tTBC\tfringevillagebandstand\n",
"2024-07-24\t17:00:00\t18:00\tRob Auton: ‘The Eyes Open and Shut Show’\ttheflowersbrookinn\n",
"2024-07-24\t17:00:00\t18:00\tThe Last King of Porn\tingramsyard\n",
"2024-07-24\t17:30:00\t18:30\tOperaCocktail\tthemagpie\n",
"2024-07-24\t18:00:00\t19:00\tVentnor Sloggers - Wiggle Run\tthefringesquare\n",
"2024-07-24\t18:00:00\t19:00\tMurder, She Didn't Write\tthebigtop\n",
"2024-07-24\t18:00:00\t19:00\tIsabella: The Last Queen of the Wight\tpierstreetplayhouse\n",
"2024-07-24\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-24\t19:00:00\t20:00\tHuge Davies (Work in Progress)\ttheflowersbrookinn\n",
"2024-07-24\t19:00:00\t20:30\tThe Seven Ages\tventnorlibrary\n",
"2024-07-24\t19:30:00\t20:45\tDoug Alldred & The Silver Lining\tstcatherineschurch\n",
"2024-07-24\t19:30:00\t20:30\tBIG QUIFFY BINGO with Boogaloo Stu\tthemagpie\n",
"2024-07-24\t19:30:00\t20:30\tMicky Overman: Work In Progress\tingramsyard\n",
"2024-07-24\t19:30:00\t20:30\tJack & Sam's Comedy Adventure\tventnorartsclub\n",
"2024-07-24\t21:00:00\t22:30\tChris Milner-Journeyman\ttheflowersbrookinn\n",
"2024-07-24\t21:15:00\t22:15\tChristopher Hall: Work In Progress\tthemagpie\n",
"2024-07-24\t21:30:00\t22:30\tNiall Moorjani’s The Green Knight (But It’s Gay)\tingramsyard\n",
"2024-07-24\t21:30:00\t22:30\tConfessions of a Card Cheat\tventnorartsclub\n",
"2024-07-25\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-25\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-25\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-25\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-25\t11:00:00\t12:00\tSummer Soundwaves Sound Bath\tthenest\n",
"2024-07-25\t11:00:00\t12:00\tAfter the Revolution & The Next 29 and a Half Years\tingramsyard\n",
"2024-07-25\t12:00:00\t17:30\tFringe Village Bandstand - Thursday 25th\tfringevillagebandstand\n",
"2024-07-25\t12:00:00\t12:30\tIndependent Arts Sing-along\tfringevillagebandstand\n",
"2024-07-25\t12:00:00\t13:30\tDrawing Club with Katy Rose Design\ttheflowersbrookinn\n",
"2024-07-25\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-25\t13:00:00\t13:30\tKrusser\tfringevillagebandstand\n",
"2024-07-25\t13:00:00\t14:00\tNaughty or Neurodiverse? I'm a Mentalist - the Magic of Angus Baskerville\tthemagpie\n",
"2024-07-25\t13:00:00\t15:00\tRevel Puck Circus: The Nose Dive Assembly\tthebigtop\n",
"2024-07-25\t13:00:00\t16:00\tVentnor Art Collective and friends Summer Exhibition\t2738amadeiraroad\n",
"2024-07-25\t13:00:00\t14:00\tBoulevard Days: A Play with Songs\tpierstreetplayhouse\n",
"2024-07-25\t14:00:00\t14:30\tSKaMP?\tfringevillagebandstand\n",
"2024-07-25\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-25\t14:00:00\t15:00\tProcreate\tingramsyard\n",
"2024-07-25\t15:00:00\t15:30\tBeau Wheeler Aerial\tfringevillagebandstand\n",
"2024-07-25\t15:00:00\t15:30\tMonty/Malcolm Carlo\tingramsyard\n",
"2024-07-25\t15:00:00\t16:30\tAn Afternoon of Comedy and Tragedy\tpierstreetplayhouse\n",
"2024-07-25\t16:00:00\t16:30\tZKELETONZ\tfringevillagebandstand\n",
"2024-07-25\t16:00:00\t16:30\tV.U.L.G.A\tfringesquare\n",
"2024-07-25\t16:30:00\t17:30\tFrankenstein: The True Story\tventnorartsclub\n",
"2024-07-25\t17:00:00\t17:30\tMarc Lebone\tfringevillagebandstand\n",
"2024-07-25\t17:00:00\t18:00\tJoe Wells : Another Autistic Show (Work in Progress)\ttheflowersbrookinn\n",
"2024-07-25\t17:00:00\t18:00\tThe Last King of Porn\tingramsyard\n",
"2024-07-25\t17:30:00\t18:30\tGlenn Moore: Work In Progress\tthemagpie\n",
"2024-07-25\t18:00:00\t19:00\tMurder, She Didn't Write\tthebigtop\n",
"2024-07-25\t18:00:00\t19:00\tIsabella: The Last Queen of the Wight\tpierstreetplayhouse\n",
"2024-07-25\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-25\t19:00:00\t20:00\tEd Night: The Plunge (Work In Progress)\ttheflowersbrookinn\n",
"2024-07-25\t19:30:00\t20:30\tBIG QUIFFY BINGO with Boogaloo Stu\tthemagpie\n",
"2024-07-25\t19:30:00\t21:00\tBob Dylan: A Quest for Meaning\tholytrinitychurch\n",
"2024-07-25\t19:30:00\t20:30\tFAKE\tingramsyard\n",
"2024-07-25\t19:30:00\t20:30\tRichard Pulsford: Get Rich Quick\tventnorartsclub\n",
"2024-07-25\t20:00:00\t21:30\tVentnor Darlings\tcrabandlobstertab\n",
"2024-07-25\t21:00:00\t23:00\tFleeper\ttheflowersbrookinn\n",
"2024-07-25\t21:15:00\t22:15\tShaparak Khorsandi: Scatter Brain (Work In Progress)\tthemagpie\n",
"2024-07-25\t21:30:00\t22:30\tSteve Bugeja: Shiny (Work in Progress)\tingramsyard\n",
"2024-07-25\t21:30:00\t22:30\tConfessions of a Card Cheat\tventnorartsclub\n",
"2024-07-26\t10:00:00\t16:00\tThe Makers Market\tstcatherineschurch\n",
"2024-07-26\t10:00:00\t16:00\tThe Book Bus\tthebookbus\n",
"2024-07-26\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-26\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-26\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-26\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-26\t11:00:00\t12:00\tAfter the Revolution & The Next 29 and a Half Years\tingramsyard\n",
"2024-07-26\t12:00:00\t17:30\tFringe Village Bandstand - Friday 26th\tfringevillagebandstand\n",
"2024-07-26\t12:00:00\t12:30\tTBC\tfringevillagebandstand\n",
"2024-07-26\t12:00:00\t12:30\tThe Easy Win\tfringesquare\n",
"2024-07-26\t12:00:00\t12:30\tMegan the Singer\tingramsyard\n",
"2024-07-26\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-26\t13:00:00\t13:30\tSionna\tfringevillagebandstand\n",
"2024-07-26\t13:00:00\t15:00\tRevel Puck Circus: The Nose Dive Assembly\tthebigtop\n",
"2024-07-26\t13:00:00\t16:00\tVentnor Art Collective and friends Summer Exhibition\t2738amadeiraroad\n",
"2024-07-26\t13:00:00\t14:00\tSteve Love's 'World Tour of the Isle of Wight' Show\tpierstreetplayhouse\n",
"2024-07-26\t14:00:00\t14:30\tThe Misfits\tfringevillagebandstand\n",
"2024-07-26\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-26\t14:00:00\t14:30\tMegan the Singer\tfringesquare\n",
"2024-07-26\t14:00:00\t15:00\tProcreate\tingramsyard\n",
"2024-07-26\t15:00:00\t15:30\tBeau Wheeler Aerial\tfringevillagebandstand\n",
"2024-07-26\t15:00:00\t16:00\tPirates' Prov - Avast!\ttheflowersbrookinn\n",
"2024-07-26\t15:00:00\t15:30\tZkeletonz\tfringesquare\n",
"2024-07-26\t15:00:00\t16:00\tWiper & True Beer Tastings\tingramsyard\n",
"2024-07-26\t15:00:00\t16:30\tAn Afternoon of Comedy and Tragedy\tpierstreetplayhouse\n",
"2024-07-26\t16:00:00\t16:30\tCivil Partnership\tfringevillagebandstand\n",
"2024-07-26\t16:00:00\t17:00\tWhatever the Weather - A Storywalk\tsalisburygardens\n",
"2024-07-26\t16:30:00\t17:30\tFrankenstein: The True Story\tventnorartsclub\n",
"2024-07-26\t17:00:00\t17:30\tAudio Ghosts\tfringevillagebandstand\n",
"2024-07-26\t17:00:00\t18:00\tJoe Wells : Another Autistic Show (Work in Progress)\ttheflowersbrookinn\n",
"2024-07-26\t17:00:00\t18:00\tThe Girl and the Snake Witch\tingramsyard\n",
"2024-07-26\t17:30:00\t18:30\tSara Barron: Anything for You (Work in Progress)\tthemagpie\n",
"2024-07-26\t18:00:00\t19:00\tHOME\tthebigtop\n",
"2024-07-26\t18:00:00\t19:00\tWiper & True Beer Tastings\tingramsyard\n",
"2024-07-26\t18:00:00\t19:00\tIsabella: The Last Queen of the Wight\tpierstreetplayhouse\n",
"2024-07-26\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-26\t19:00:00\t20:00\tHOME\tthebigtop\n",
"2024-07-26\t19:00:00\t20:30\tJack's Comedy Club\ttheflowersbrookinn\n",
"2024-07-26\t19:30:00\t20:30\tDrunk Women Solving Crime\tthemagpie\n",
"2024-07-26\t19:30:00\t22:30\tFAKE\tingramsyard\n",
"2024-07-26\t19:30:00\t20:30\tRichard Pulsford: Get Rich Quick\tventnorartsclub\n",
"2024-07-26\t21:00:00\t22:45\tJoe Black: Club Cataclysm\tthebigtop\n",
"2024-07-26\t21:15:00\t22:15\tOlga Koch Comes From Money (Work in Progress)\tthemagpie\n",
"2024-07-26\t21:30:00\t22:30\tSteve Bugeja: Shiny (Work in Progress)\tingramsyard\n",
"2024-07-26\t21:30:00\t22:30\tConfessions of a Card Cheat\tventnorartsclub\n",
"2024-07-27\t10:00:00\t11:00\tVentnor Sloggers - NAPR (Not A Park Run)\tthefringesquare\n",
"2024-07-27\t10:00:00\t16:00\tThe Makers Market\tstcatherineschurch\n",
"2024-07-27\t10:00:00\t16:00\tThe Book Bus\tthebookbus\n",
"2024-07-27\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-27\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-27\t10:30:00\t11:30\tMythical Sea Creatures\tthemagpie\n",
"2024-07-27\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-27\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-27\t11:00:00\t12:00\tElemental Tales\tingramsyard\n",
"2024-07-27\t12:00:00\t17:30\tFringe Village Bandstand - Saturday 27th\tfringevillagebandstand\n",
"2024-07-27\t12:00:00\t12:30\tBeau Wheeler Aerial\tfringevillagebandstand\n",
"2024-07-27\t12:00:00\t13:00\tWands for Waving\tthemagpie\n",
"2024-07-27\t12:00:00\t13:00\tDraw, Cut, Tape & Sculpt\tthemagpie\n",
"2024-07-27\t12:30:00\t13:30\tSESKA: DON'T WEE YOUR PANTS\ttheflowersbrookinn\n",
"2024-07-27\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-27\t13:00:00\t13:30\tShipmate\tfringevillagebandstand\n",
"2024-07-27\t13:00:00\t14:00\tTape That!\tventnorputtinggreenventnorpark\n",
"2024-07-27\t13:00:00\t15:00\tRevel Puck Circus: The Nose Dive Assembly\tthebigtop\n",
"2024-07-27\t13:00:00\t16:00\tVentnor Art Collective and friends Summer Exhibition\t2738amadeiraroad\n",
"2024-07-27\t13:00:00\t13:30\tTony “Monty” Hirst\tfringesquare\n",
"2024-07-27\t13:00:00\t13:30\tZkeletonz\tingramsyard\n",
"2024-07-27\t13:00:00\t14:00\tVisions of the Suburbs\tpierstreetplayhouse\n",
"2024-07-27\t13:30:00\t14:30\tSlotting Sculpture\tthemagpie\n",
"2024-07-27\t14:00:00\t14:30\tFresh Ukes\tfringevillagebandstand\n",
"2024-07-27\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-27\t14:00:00\t14:30\tThe Easy Win\tfringesquare\n",
"2024-07-27\t14:00:00\t15:00\tI'M IN LOVE WITH A DEAD GIRL\tingramsyard\n",
"2024-07-27\t14:00:00\t15:00\tWhatever the Weather - A Storywalk\tsalisburygardens\n",
"2024-07-27\t14:30:00\t15:30\tStretch & Relax with Katy\tthemagpie\n",
"2024-07-27\t15:00:00\t15:30\tDubious Characters\tfringevillagebandstand\n",
"2024-07-27\t15:00:00\t16:00\tTape That!\tventnorputtinggreenventnorpark\n",
"2024-07-27\t15:00:00\t16:00\tPirates' Prov - Avast!\ttheflowersbrookinn\n",
"2024-07-27\t15:00:00\t15:30\tCara Goodrem\tingramsyard\n",
"2024-07-27\t15:30:00\t16:30\tI Knew You - An Eras Tour of Poetry\tpierstreetplayhouse\n",
"2024-07-27\t16:00:00\t16:45\tAmy Jolliffe\tfringevillagebandstand\n",
"2024-07-27\t16:45:00\t17:45\tBay Wailers and Ventnor Exchange Choir\tfringevillagebandstand\n",
"2024-07-27\t17:00:00\t18:00\tAnia Magliano (Work in Progress)\ttheflowersbrookinn\n",
"2024-07-27\t17:00:00\t18:00\tAlex Kitson: Must I Paint You a Picture (Work in Progress)\tingramsyard\n",
"2024-07-27\t17:30:00\t18:30\tPinocchio (A new adaptation by Pink Cow Theatre)\tthemagpie\n",
"2024-07-27\t18:00:00\t19:00\tHOME\tthebigtop\n",
"2024-07-27\t18:00:00\t19:00\tWiper & True Beer Tastings\tingramsyard\n",
"2024-07-27\t18:00:00\t19:00\tWyrd Wight Tales\tpierstreetplayhouse\n",
"2024-07-27\t18:30:00\t21:00\tSparkes at the Piano\ttherexpianobar\n",
"2024-07-27\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-27\t19:00:00\t20:00\tHOME\tthebigtop\n",
"2024-07-27\t19:00:00\t20:00\tJosh Baulf: Rumble\ttheflowersbrookinn\n",
"2024-07-27\t19:30:00\t20:30\tDrunk Women Solving Crime\tthemagpie\n",
"2024-07-27\t19:30:00\t20:30\tKIZZA: BIGFUNKYMAGICMAN\tingramsyard\n",
"2024-07-27\t19:30:00\t20:30\tRichard Pulsford: Get Rich Quick\tventnorartsclub\n",
"2024-07-27\t21:00:00\t22:45\tJoe Black: Club Cataclysm\tthebigtop\n",
"2024-07-27\t21:15:00\t22:30\tTropic Fire!\tthemagpie\n",
"2024-07-27\t21:30:00\t22:30\tBella Hull: Work in Progress\tingramsyard\n",
"2024-07-27\t21:30:00\t23:00\tLaurie McVay and the High Rollers: The Soul of the Blues\tventnorartsclub\n",
"2024-07-28\t10:00:00\t16:00\tArt in the Park\tventnorpark\n",
"2024-07-28\t10:00:00\t16:00\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-28\t10:30:00\t11:30\tIllustrate Cartoon Characters\tthemagpie\n",
"2024-07-28\t10:30:00\t12:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-28\t10:30:00\t20:00\tPlace of Safety\tlafalaisecarparkshelter\n",
"2024-07-28\t11:00:00\t12:00\tEarlier Times Salt Did Flow\tingramsyard\n",
"2024-07-28\t12:00:00\t17:00\tFringe Village Bandstand - Sunday 28th\tfringevillagebandstand\n",
"2024-07-28\t12:00:00\t12:30\tHarriet Jane\tfringevillagebandstand\n",
"2024-07-28\t12:00:00\t13:00\tCircus Show with StixGuy Kai & Beau Wheeler\tthemagpie\n",
"2024-07-28\t12:00:00\t13:00\tWriting Workshop\tthemagpie\n",
"2024-07-28\t12:00:00\t12:30\tTom Francis Turner\tingramsyard\n",
"2024-07-28\t12:30:00\t13:30\tSESKA: DON'T WEE YOUR PANTS\ttheflowersbrookinn\n",
"2024-07-28\t13:00:00\t14:00\tA Walk Through The Solar System\tventnorexchange\n",
"2024-07-28\t13:00:00\t13:30\tCoosticks\tfringevillagebandstand\n",
"2024-07-28\t13:00:00\t13:30\tMovement with Katy\tthemagpie\n",
"2024-07-28\t13:00:00\t15:00\tRevel Puck Circus: The Nose Dive Assembly\tthebigtop\n",
"2024-07-28\t13:00:00\t16:00\tVentnor Art Collective and friends Summer Exhibition\t2738amadeiraroad\n",
"2024-07-28\t13:00:00\t13:30\tAnnette Valentine\tingramsyard\n",
"2024-07-28\t13:30:00\t14:30\tMade by Lasers Decorated by You\tthemagpie\n",
"2024-07-28\t14:00:00\t14:30\tEdie Elliott\tfringevillagebandstand\n",
"2024-07-28\t14:00:00\t16:30\tart-house-life: Reality Disrupted\t35madeirard\n",
"2024-07-28\t14:00:00\t15:00\tI'M IN LOVE WITH A DEAD GIRL\tingramsyard\n",
"2024-07-28\t14:00:00\t14:30\tThe Madness of Queen Dido\tpierstreetplayhouse\n",
"2024-07-28\t14:30:00\t15:00\tFamily Fringe Parade\tthemagpie\n",
"2024-07-28\t15:00:00\t15:30\tTom Francis Turner\tfringevillagebandstand\n",
"2024-07-28\t15:00:00\t16:00\tPirates' Prov - Avast!\ttheflowersbrookinn\n",
"2024-07-28\t15:00:00\t15:30\tHarriet Jane\tingramsyard\n",
"2024-07-28\t15:30:00\t16:30\tI Knew You - An Eras Tour of Poetry\tpierstreetplayhouse\n",
"2024-07-28\t16:00:00\t16:30\tWarmpth\tfringevillagebandstand\n",
"2024-07-28\t16:00:00\t16:30\tKRUSSER\tingramsyard\n",
"2024-07-28\t16:30:00\t17:30\tMiranda Reveals All\tventnorartsclub\n",
"2024-07-28\t17:00:00\t17:30\tAnnette Valentine\tfringevillagebandstand\n",
"2024-07-28\t17:00:00\t18:00\tAnia Magliano (Work in Progress)\ttheflowersbrookinn\n",
"2024-07-28\t17:00:00\t18:00\tAlex Kitson: Must I Paint You a Picture (WIP)\tingramsyard\n",
"2024-07-28\t17:30:00\t18:30\tPinocchio (A new adaptation by Pink Cow Theatre)\tthemagpie\n",
"2024-07-28\t18:00:00\t19:00\tHOME\tthebigtop\n",
"2024-07-28\t18:00:00\t19:00\tWyrd Wight Tales\tpierstreetplayhouse\n",
"2024-07-28\t19:00:00\t21:00\tFringe Village Jazz Concerts\tthenest\n",
"2024-07-28\t19:00:00\t20:00\tHOME\tthebigtop\n",
"2024-07-28\t19:00:00\t20:00\tJosh Baulf: Rumble\ttheflowersbrookinn\n",
"2024-07-28\t19:30:00\t20:30\tBaron Fortitude: Victorian Rapper\tthemagpie\n",
"2024-07-28\t19:30:00\t20:30\tKIZZA: BIGFUNKYMAGICMAN\tingramsyard\n",
"2024-07-28\t19:30:00\t20:30\tHunter Davies: Letters to Margaret\tventnorartsclub\n",
"2024-07-28\t20:00:00\t23:00\tFringe Village DJ Listing Sunday 28th\tthebigtopbar\n",
"2024-07-28\t21:15:00\t22:30\tEAT, SLAY, LOVE - A Quivers Stand Up Show\tthemagpie\n",
"2024-07-28\t21:30:00\t22:30\tBella Hull: Work in Progress\tingramsyard\n",
"\n"
]
}
],
"source": [
"from io import StringIO\n",
"\n",
"output = StringIO()\n",
"df[cols].to_csv(output, sep='\\t', index=False)\n",
"\n",
"print(output.getvalue())"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f52e46d9-7a53-4b8e-a499-d6e33451c3ed",
"metadata": {},
"outputs": [],
"source": [
"2024-07-22 10:00:00\t2024-07-22 16:00:00\t2024-07-22\t10:00:00\t16:00\thttps://vfringe.co.uk/events/art-in-the-park/\tArt in the Park\tventnorpark\n",
"2024-07-22 10:00:00\t2024-07-22 16:00:00\t2024-07-22\t10:00:00\t16:00\thttps://vfringe.co.uk/events/caulabyrinth-the-absurdity-of-humans/\tCaulabyrinth - the absurdity of humans\tpeerstudios\n",
"2024-07-22 10:30:00\t2024-07-22 12:30:00\t2024-07-22\t10:30:00\t12:30\thttps://ventnorexchange.littleboxoffice.com/events/78047\tart-house-life: Reality Disrupted\t35madeirard"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "29009710-7b74-465e-8498-760680e4b2ac",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'dt_start': datetime.datetime(2024, 7, 22, 10, 0),\n",
" 'dt_end': datetime.datetime(2024, 7, 22, 16, 0),\n",
" 'date': '2024-07-22',\n",
" 'start': '10:00:00',\n",
" 'end': '16:00',\n",
" 'url': 'https://vfringe.co.uk/events/art-in-the-park/',\n",
" 'title': 'Art in the Park',\n",
" 'venue': 'ventnorpark'},\n",
" {'dt_start': datetime.datetime(2024, 7, 22, 10, 0),\n",
" 'dt_end': datetime.datetime(2024, 7, 22, 16, 0),\n",
" 'date': '2024-07-22',\n",
" 'start': '10:00:00',\n",
" 'end': '16:00',\n",
" 'url': 'https://vfringe.co.uk/events/caulabyrinth-the-absurdity-of-humans/',\n",
" 'title': 'Caulabyrinth - the absurdity of humans',\n",
" 'venue': 'peerstudios'},\n",
" {'dt_start': datetime.datetime(2024, 7, 22, 10, 30),\n",
" 'dt_end': datetime.datetime(2024, 7, 22, 12, 30),\n",
" 'date': '2024-07-22',\n",
" 'start': '10:30:00',\n",
" 'end': '12:30',\n",
" 'url': 'https://ventnorexchange.littleboxoffice.com/events/78047',\n",
" 'title': 'art-house-life: Reality Disrupted',\n",
" 'venue': '35madeirard'}]"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[:3]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b72a1463-bc9c-4bf0-80f6-c5c171a19f55",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment