Add calculator and weather API scripts in JavaScript and Python

This commit is contained in:
vista-man
2025-01-27 18:04:20 +01:00
parent aeb58e9cb0
commit f829630017
8 changed files with 251 additions and 0 deletions

49
Python/scrape/scrape.py Normal file
View File

@@ -0,0 +1,49 @@
import os
import requests
import time
from bs4 import BeautifulSoup
# Vraag de gebruiker om de URL van de nieuwswebsite
url = input("Voer de URL van de nieuwswebsite in: ")
# Controleer of de URL begint met 'www.' of 'ww2.', zo niet, voeg 'www.' toe
if not (url.startswith('www.') or url.startswith('ww2.')):
url = 'www.' + url
# Controleer of de URL begint met 'https://', zo niet, voeg het toe
if not url.startswith('https://'):
url = 'https://' + url
# Haal de inhoud van de webpagina op
try:
response = requests.get(url)
response.raise_for_status() # Raise an HTTPError for bad responses
webpage = response.content
except requests.exceptions.RequestException as e:
print(f"Fout bij het ophalen van de webpagina: {e}")
exit()
# Parse de webpagina met BeautifulSoup
soup = BeautifulSoup(webpage, 'html.parser')
# Zoek alle titels van nieuwsartikelen (pas de selector aan op basis van de HTML-structuur van de website)
titles = soup.find_all('h2') # Pas deze selector aan indien nodig
# Bepaal het pad van het huidige script
script_dir = os.path.dirname(os.path.abspath(__file__))
# Bepaal het pad van het bestand titels.txt in dezelfde directory
file_path = os.path.join(script_dir, 'titels.txt')
# Controleer of er titels zijn gevonden
if not titles:
print("Geen titels gevonden. Controleer de HTML-structuur van de website en pas de selector aan.")
else:
# Open het bestand titels.txt in append-modus
with open(file_path, 'a', encoding='utf-8') as file:
# Schrijf de titels van de nieuwsartikelen naar het bestand
for title in titles:
file.write(title.get_text(separator=' ') + '\n')
print(f"De titels zijn toegevoegd aan {file_path}")
time.sleep(2) # Wacht 5 seconden voordat het script wordt afgesloten

34
Python/scrape/titels.txt Normal file
View File

@@ -0,0 +1,34 @@
Dodental van hotelbrand in Turks skioord loopt op tot 66
Ook gratie voor Capitoolbestormers die jarenlange celstraffen kregen
Driekwart gemeenten krijgt begroting niet rond, keuzes uitgesteld
Amerikaanse president heeft eigen munt: 'Best wel eng dat dit kan'
WHO-exit en rem op immigratie: de eerste decreten van Trump
Start presidentschap Trump
Streep door sancties tegen extremisten op Westoever • 915 trucks met hulpgoederen op dag 2 bestand
Gevaar in Los Angeles houdt aan door sterke wind, nieuwe branden geblust
Doden bij aardverschuivingen en overstromingen op Java en Bali
Prins Harry's rechtszaak tegen krant van mediamagnaat Murdoch begint
Formule 1-team Haas schrijft geschiedenis met eerste vrouwelijke race-engineer
Kijken
Oude Duitse oorlogsradar gaat na reparatie terug naar Terschelling
Formatie Oostenrijk in nieuwe fase, rechts-radicale bondskanselier stap dichterbij
Helft van jongvolwassenen noemt mentale gezondheid niet goed
Nieuwe wet moet einde maken aan kat-en-muisspel rond designerdrugs
NSC komt met voorstel voor referenda over nieuw pensioenstelsel
Wie is Dana White, de vechtsportbaas en vertrouweling van Donald Trump?
Alles in puin: de verwoesting in Gaza in beeld
Titelhoudster Sabalenka ontsnapt: in drie sets naar halve finales Australian Open
Pechvogel Van Baarle breekt sleutelbeen in eerste etappe van wielerseizoen
Australische regering houdt spoedberaad na antisemitische aanvallen
PSV laat zich geen crisis aanpraten: 'We hebben het heilige vuur nog steeds'
Dubbelspecialist Verbeek verrassend naar halve finales Australian Open
KNWU bezuinigt op beloften: geen Nederlandse jeugd naar WK in Rwanda
TikTok in VS niet op zwart, maar ook na ingrijpen Trump in grijs gebied
Uitgelegd
Sport
Gemist?
Collecties
Laatste nieuws
NOS informatie
Nieuws
Sport