Files
scrapers/zArchive/FaceBook/pillarforum.mpls.py

85 lines
2.6 KiB
Python
Raw Normal View History

2025-11-30 16:29:50 -05:00
import os, sys
from datetime import datetime
from dateutil import relativedelta
import django
sys.path.append('../')
os.environ['DJANGO_SETTINGS_MODULE'] = 'ds_events.settings'
django.setup()
from time import sleep
from pprint import pprint as ppr
from selenium import webdriver as wd
from selenium.webdriver.common.by import By
from xvfbwrapper import Xvfb
from lxml import html
import pytz
from events.models import Event as DSEvent, Organization
from digitools import getBrowser, createURL, createBasicEvent, getSource
exit()
current_year = str(datetime.now().year)
venue, created = Organization.objects.get_or_create(
name="Piller Forum",
city="Minneapolis",
website="https://www.pilllar.com/pages/events",
)
tz = pytz.timezone("US/Central")
DATETIME_FORMAT = '%B %d %I:%M%p %Y'
DATETIME_FORMAT = '%B %A %d %I:%M-%I:%M%p'
if len(sys.argv) >= 2:
arg1 = sys.argv[1]
br = getBrowser(arg1)
br.get(venue.website)
else:
print("No run_env")
quit()
try:
br.find_element(By.XPATH, '//*[@class="privy-dismiss-content"]').click()
except Exception as e:
print(e)
pass
months = br.find_elements(By.XPATH, '//*[@class="sse-display"]')
for month in months:
month_name = month.find_element(By.XPATH, './/*[@class="sse-size-28"]/u').text.capitalize()
events = month.find_elements(By.XPATH, './/p')
for event in events:
e = {}
eventTitle = event.text
try:
e['title'] = " ".join(eventTitle.split("-")[1].split(" ")[1:-2])
if 'Music' in eventTitle:
e['event_type'] = "Mu"
elif 'The Growth Arc' in eventTitle:
e['event_type'] = "Ot"
e['dateTime'] = " ".join([month_name, date, "7:00pm", current_year])
e['dateStamp'] = datetime.strptime(e['dateTime'], DATETIME_FORMAT)
e['title'] = "The Growth Arc - Relationship Support Space"
e['link'] = venue.website
elif 'Event' in eventTitle:
e['event_type'] = "Mu"
else:
e['event_type'] = "Ot"
date = eventTitle.split(":")[0].split(" ")[1].replace("th", "").replace("nd", "").replace("rd", "").replace("st", "")
time = eventTitle.split("-")[1].split(" ")[-2:][0]
e['dateTime'] = " ".join([month_name, date, time, current_year])
e['dateStamp'] = datetime.strptime(e['dateTime'], DATETIME_FORMAT)
e['link'] = venue.website
createBasicEvent(e, venue)
except Exception as e:
print("error ", eventTitle)
print(e)
sleep(3)
# ppr(events)
br.close()