<jupyter_start><jupyter_text>Projekt Rundfunkveranstalter und AusbildungAnmerkung: Mit requests. können wir pdfs öffnen.<jupyter_code>import requests
from bs4 import BeautifulSoup
import pandas as pd
radiolist = requests.get('https://www.bakom.admin.ch/bakom/de/home/elektronische-medien/informationen-ueber-radio-und-fernsehveranstalter/radio-lokal-regional.html')
radiolist = BeautifulSoup(radiolist.text, 'html.parser')
radiolist
alle_sender = radiolist.find_all('tr')
alle_sender.pop(0) # erstes Element herauswerfen, da es nicht zur Liste
#gehört und kein 'a' enthält und deshalb Fehler in der Schleife produziert
lokalradios = []

for sender in alle_sender:
    lokalradio = {}
    lokalradio["name"] = sender.find('a').text
    lokalradio["link"] = sender.find('a')['href']
    lokalradios.append(lokalradio)

print(lokalradios[0])
    
lokalradios
df_radiolinkliste = pd.DataFrame(lokalradios)
df_radiolinkliste
#nächste Schritte
definiere neue liste für alle pdflinks

for loop über Lokalradios
    defniere dict für radioststation
    html = request mit link 
    liste = html.findAll("div", {"class": "webText"})[-1] #letztes div element in liste (letzter bericht)
    in html finde link auf letzten Jahresbericht 
    speichere link in dict
    append dict in listwe
#radiolist.find_all('td' ) #wie kann ich das Scrapen iterieren?
#Problem: hier parse ich ja nur das dritte Element
radiolist.find_all('td')[2].find('a')
radiolist.find_all('td')[2].find('a').text
radiolist.find_all('td')[2].find('a')['href']
len(radiolist)<jupyter_output><empty_output><jupyter_text>Ab hier versuche ich selber weiter zu machen.Wie weiter: Liste mit Veranstaltern und mit den links auf die Unterseite mit pdf machen<jupyter_code>link = radiolist.find_all('td')[2].find('a')['href']
link 
#den Link muss ich vorne offenbar wieder ergänzen mit demjenigender Hauptsite
radiostation = radiolist.find_all('td')[2].find('a').text
radiostation
radiolinklist = []
#hier beginnt der for-Loop
for r, l in zip(radiostation, link):
    #hier les ich aus beiden Listen die Elemente aus
    #das r Element aus der radiostation-Liste
    #Das l Element aus der link-Liste
    #daraus wird mein Minid-Dictionary
    minidict = {'Radiostation':r,
              'Link':l}
  #hier wird das erstellte Mini-Dictionary der Percentage-Liste angehängt.
    #Daraus entsteht eine Liste von Dicionarys
    radiolinklist.append(minidict)
#Dies Dictionaryliste wird i ein csv umgewandelt und abgespeichert.
pd.DataFrame(radiolinklist).to_csv('radiolinklist.csv')
pd.DataFrame(radiolinklist)
#Vorlage für die Ergänzung der extrahierten links
url_hauptseite = https://www.bakom.admin.ch
url_unterseite_privatradios = /bakom/de/home/elektronische-medien/informationen-ueber-radio-und-fernsehveranstalter/radio-lokal-regional.html<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10375354107648725, 'fraction_numerical': 0.003186968838526912, 'mean_word_length': 5.449771689497717, 'pattern_counts': {'":': 1, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '322696', 'license': 'MIT', 'n_tokens_mistral': 1035, 'n_tokens_neox': 1026, 'n_words': 243, 'path': 'Projekt_RundfunkWeiterbildung/Projekt Rundfunkveranstalter und Ausbildung_Versuch2.ipynb', 'repo_name': 'edzardschade/Edzard_CAS', 'size': '2824'}