lots of updates :/
This commit is contained in:
70
events/scrapers/zArchive/broken/EastsideLibrary.py
Normal file
70
events/scrapers/zArchive/broken/EastsideLibrary.py
Normal file
@@ -0,0 +1,70 @@
|
||||
import os, sys
|
||||
from datetime import datetime
|
||||
from dateutil import relativedelta
|
||||
|
||||
import django
|
||||
sys.path.append('../../../../')
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'config.django.local'
|
||||
django.setup()
|
||||
|
||||
from time import sleep
|
||||
from pprint import pprint as ppr
|
||||
import pytz
|
||||
|
||||
from events.models import Organization, Scraper
|
||||
import events.digitools as digitools
|
||||
|
||||
current_year = str(datetime.now().year)
|
||||
|
||||
venue, created = Organization.objects.get_or_create(
|
||||
name="Eastside Freedom Library",
|
||||
city="Minneapolis",
|
||||
website="https://eastsidefreedomlibrary.org/events/",
|
||||
is_venue=True
|
||||
)
|
||||
|
||||
scraper,item_count_start = digitools.getScraper(venue)
|
||||
|
||||
tz = pytz.timezone("US/Central")
|
||||
|
||||
DATETIME_FORMAT = '%B %d @ %I:%M %p %Y'
|
||||
|
||||
def get_events(ps):
|
||||
contents = ps.xpath('.//*/article')
|
||||
# ppr("contents:", contents)
|
||||
for c in contents:
|
||||
try:
|
||||
event = {}
|
||||
event['scraper'] = scraper
|
||||
event['calendar'] = scraper.calendar
|
||||
event['title'] = c.xpath('.//*/h3[@class="tribe-events-calendar-list__event-title tribe-common-h6 tribe-common-h4--min-medium"]/a/text()')[0].strip()
|
||||
event['link'] = c.xpath('.//*/h3[@class="tribe-events-calendar-list__event-title tribe-common-h6 tribe-common-h4--min-medium"]/a/@href')[0]
|
||||
event['date'] = c.xpath('.//*/span[@class="tribe-event-date-start"]/text()')[0].strip() + " " + current_year
|
||||
event['dateStamp'] =datetime.strptime(event['date'], DATETIME_FORMAT)
|
||||
try:
|
||||
new_event = digitools.createBasicEvent(event, "Ed", venue)
|
||||
scraper.items+=1
|
||||
except Exception as e:
|
||||
print(e)
|
||||
ppr(event)
|
||||
print("\n+++\n")
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
if len(sys.argv) >= 2:
|
||||
arg1 = sys.argv[1]
|
||||
br = digitools.getBrowser(arg1)
|
||||
else:
|
||||
print("No run_env")
|
||||
quit()
|
||||
|
||||
calendar_url = 'https://eastsidefreedomlibrary.org/events/'
|
||||
|
||||
ps = digitools.getSource(br, calendar_url)
|
||||
|
||||
get_events(ps)
|
||||
|
||||
# ppr(events)
|
||||
br.close()
|
||||
|
||||
digitools.updateScraper(scraper, item_count_start)
|
||||
@@ -0,0 +1,65 @@
|
||||
import requests, os, sys
|
||||
from icalendar import Calendar as iCalendar, Event
|
||||
from datetime import datetime
|
||||
|
||||
from pprint import pprint as ppr
|
||||
import pytz
|
||||
|
||||
import django
|
||||
sys.path.append('../../../../')
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'config.django.local'
|
||||
django.setup()
|
||||
|
||||
from events.models import Event as DSEvent, Organization, Scraper, Calendar
|
||||
import events.digitools as digitools
|
||||
|
||||
from dateutil import relativedelta
|
||||
td = relativedelta.relativedelta(hours=5)
|
||||
|
||||
venue, created = Organization.objects.get_or_create(
|
||||
name="KJ's Hideaway",
|
||||
city="Minneapolis",
|
||||
website="",
|
||||
)
|
||||
|
||||
try:
|
||||
scraper, created = Scraper.objects.get_or_create(
|
||||
name="KJ's Hideaway",
|
||||
website="https://calendar.google.com/calendar/ical/sgmok5t13vspeoruhruh33dhj0hgc50q%40import.calendar.google.com/public/basic.ics",
|
||||
calendar = Calendar.objects.get(id=1),
|
||||
items = 0,
|
||||
new_items = 0,
|
||||
last_ran = datetime.now(),
|
||||
)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
scraper = Scraper.objects.get(name=venue.name)
|
||||
|
||||
item_count_start = scraper.items
|
||||
|
||||
event_type = "Mu"
|
||||
|
||||
objIcalData = requests.get(scraper.website)
|
||||
gcal = iCalendar.from_ical(objIcalData.text)
|
||||
tz = pytz.timezone("US/Central")
|
||||
events = digitools.getiCalEvents(gcal, scraper, venue, "Ed")
|
||||
|
||||
for event in events:
|
||||
# ppr(event)
|
||||
now_now = datetime.today().date()
|
||||
e = {}
|
||||
e['calendars'] = event['calendars']
|
||||
try:
|
||||
e['dateStamp'] = event['dateStart'][0]
|
||||
except:
|
||||
e['dateStamp'] = event['dateStart']
|
||||
e['title'] = event['strSummary']
|
||||
e['scraper'] = scraper
|
||||
e['link'] = venue.website
|
||||
if e['dateStamp'] > now_now:
|
||||
try:
|
||||
digitools.createBasicEvent(e, 'Mu', venue)
|
||||
except Exception as e:
|
||||
print("Error: ", e)
|
||||
|
||||
digitools.updateScraper(scraper, item_count_start)
|
||||
91
events/scrapers/zArchive/eventario.2.py
Normal file
91
events/scrapers/zArchive/eventario.2.py
Normal file
@@ -0,0 +1,91 @@
|
||||
import json
|
||||
|
||||
import os, sys
|
||||
from datetime import datetime
|
||||
from dateutil import relativedelta
|
||||
|
||||
import django
|
||||
sys.path.append('../../../../')
|
||||
os.environ['DJANGO_SETTINGS_MODULE'] = 'config.django.local'
|
||||
django.setup()
|
||||
|
||||
from time import sleep
|
||||
from pprint import pprint as ppr
|
||||
import pytz
|
||||
|
||||
from events.models import Organization, Scraper, Calendar, Event
|
||||
import events.digitools as digitools
|
||||
|
||||
|
||||
venue, created = Organization.objects.get_or_create(
|
||||
name="Eventario",
|
||||
city="Medellin",
|
||||
website="https://www.eventario.co",
|
||||
is_venue=True
|
||||
)
|
||||
|
||||
scraper,item_count_start,virtcal = digitools.getScraper(venue, 'mde')
|
||||
|
||||
DATETIME_FORMAT = '%-d/%-m/%y %I:%M %p'
|
||||
|
||||
|
||||
with open('data.json') as f:
|
||||
data = json.load(f)
|
||||
|
||||
paisa = []
|
||||
|
||||
for d in data:
|
||||
if len(d['dateTime']) != 0:
|
||||
if 'Familia' in d['label']:
|
||||
d['category'] = 'Ot'
|
||||
elif 'Comedia' in d['label']:
|
||||
d['category'] = 'Co'
|
||||
elif ('Magic' in d['title']) or ('Juegos' in d['label']):
|
||||
d['category'] = 'Ot'
|
||||
elif ('Conferencias' in d['label']) or ('Intercambio' in d['label']):
|
||||
d['category'] = 'Ed'
|
||||
else:
|
||||
d['category'] = 'Mu'
|
||||
if "Antioquia" in d['location']:
|
||||
try:
|
||||
d['city'] = d['location'].split(',')[0]
|
||||
paisa.append(d)
|
||||
except:
|
||||
continue
|
||||
|
||||
# ppr(paisa)
|
||||
with open('data.updated.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(data, f, ensure_ascii=False, indent=4)
|
||||
|
||||
|
||||
cal = Calendar.objects.get(shortcode='mde')
|
||||
|
||||
|
||||
for d in paisa:
|
||||
d['dateStamp'] =datetime.strptime(d['dateTime'][0], DATETIME_FORMAT)
|
||||
try:
|
||||
nvenue, created = Organization.objects.get_or_create(
|
||||
name=d['venue'],
|
||||
city=d['city'],
|
||||
website=d['venueLink'],
|
||||
address_complete = d['address'],
|
||||
is_venue=True
|
||||
)
|
||||
except:
|
||||
nvenue = Organization.objects.get(name=d['venue'])
|
||||
nvenue.address_complete = d['address']
|
||||
nvenue.save()
|
||||
new_event, created = Event.objects.update_or_create(
|
||||
event_type = d['category'],
|
||||
show_title = d['title'],
|
||||
show_link = d['link'],
|
||||
show_date = d['dateStamp'],
|
||||
show_day = d['dateStamp'],
|
||||
scraper = scraper,
|
||||
venue = nvenue
|
||||
)
|
||||
new_event.calendar.add(cal)
|
||||
new_event.save()
|
||||
print(new_event)
|
||||
|
||||
digitools.updateScraper(scraper, item_count_start)
|
||||
Reference in New Issue
Block a user