54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
from bs4 import BeautifulSoup
|
|
import requests
|
|
import csv
|
|
|
|
source = requests.get('https://fundraiser-magazin.de/fundraising-kalender.html').text
|
|
soup = BeautifulSoup(source, 'lxml')
|
|
|
|
csv_file = open("frkalender_scrape_csv", "w")
|
|
|
|
csv_writer = csv.writer(csv_file)
|
|
csv_writer.writerow(["titel", "datum", "veranstalter", "event_url", "ort"])
|
|
|
|
|
|
for event in soup.find_all("div", class_="kalender-veranstaltung"):
|
|
titel = event.find("div", class_="kalender-titel").text
|
|
print(titel)
|
|
|
|
datum = event.find("div", class_="kalender-termin").text
|
|
print(datum)
|
|
|
|
veranstalter = event.find("div", class_="kalender-veranstalter").text
|
|
veranstalter = veranstalter.split(": ")[1]
|
|
print(veranstalter)
|
|
|
|
event_url = event.find("a")['href']
|
|
#print(event_url)
|
|
event_link = f"Weitere Informationen: {event_url}"
|
|
print(event_link)
|
|
|
|
try:
|
|
ort = event.find("div", class_="kalender-ort").text
|
|
ort = ort.split(": ")[1]
|
|
|
|
except Exception as e:
|
|
ort = None
|
|
print(ort)
|
|
|
|
|
|
print()
|
|
|
|
csv_writer.writerow([titel, datum, veranstalter, event_url, ort])
|
|
csv_file.close()
|
|
'''
|
|
for event in soup.find_all("div", class_="kalender-veranstaltung"):
|
|
|
|
titel = event.find_all('div', class_='kalender-titel')
|
|
print(titel)
|
|
|
|
veranstalter = event.find_all('div', class_='kalender-veranstalter')
|
|
print(veranstalter)
|
|
|
|
ort = event.find_all('div', class_='kalender-ort')
|
|
print(ort)
|
|
''' |