78 lines
2.2 KiB
Python
78 lines
2.2 KiB
Python
import os
|
|
|
|
# Ordner, in dem sich die Textdateien und das Skript befinden
|
|
ordner_pfad = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
# Listen von Titeln, Start- und Endmustern
|
|
titel = [
|
|
"Name", # 1
|
|
"Verifizierter Club", # 2
|
|
"Mitglieder", # 3
|
|
"Kategorie", # 4
|
|
"Land", # 5
|
|
"Club ID", # 6
|
|
"Logo", # 7
|
|
"Titel8", # 8
|
|
"Titel9", # 9
|
|
"Titel10", # 10
|
|
]
|
|
|
|
start_muster = [
|
|
'<meta content="', # 1
|
|
'original-title="Verifizierter Club">', # 2
|
|
'<div class="club-members section">\n<h3>\n', # 3
|
|
'icon-lg">', # 4
|
|
'</span>\n\r \n\r<img alt="', # 5
|
|
'<meta content="https://www.strava.com/clubs/', # 6
|
|
'<meta content="https://dgalywyr863hv.cloudfront.net/pictures/clubs/', # 7
|
|
"START8", # 8
|
|
"START9", # 9
|
|
"START10", # 10
|
|
]
|
|
|
|
end_muster = [
|
|
'" property="og:title">', # 1
|
|
"</span>", # 2
|
|
' Mitglieder\n</h3>', # 3
|
|
"</span>", # 4
|
|
'" src="data:,">', # 5
|
|
'" property="og:url">', # 6
|
|
'/large.jpg"', # 7
|
|
"END8", # 8
|
|
"END9", # 9
|
|
"END10", # 10
|
|
]
|
|
|
|
# Ausgabedatei
|
|
ausgabe_datei = "extrahierte_werte.txt"
|
|
|
|
def extrahiere_werte(datei):
|
|
extrahierte_werte = {t: [] for t in titel}
|
|
with open(datei, 'r') as textdatei:
|
|
zeilen = textdatei.readlines()
|
|
for zeile in zeilen:
|
|
for i in range(len(start_muster)):
|
|
start_index = zeile.find(start_muster[i])
|
|
end_index = zeile.find(end_muster[i])
|
|
if start_index != -1 and end_index != -1:
|
|
wert = zeile[start_index + len(start_muster[i]):end_index]
|
|
extrahierte_werte[titel[i]].append(wert)
|
|
return extrahierte_werte
|
|
|
|
def main():
|
|
with open(ausgabe_datei, 'w') as ausgabe:
|
|
ausgabe.write("Dateiname\t" + "\t".join(titel) + "\n")
|
|
for datei_name in os.listdir(ordner_pfad):
|
|
if datei_name.endswith(".html"):
|
|
datei_pfad = os.path.join(ordner_pfad, datei_name)
|
|
extrahierte_werte = extrahiere_werte(datei_pfad)
|
|
if extrahierte_werte:
|
|
dateiname = os.path.splitext(datei_name)[0]
|
|
ausgabe.write(dateiname)
|
|
for t in titel:
|
|
ausgabe.write("\t" + "\t".join(extrahierte_werte[t]))
|
|
ausgabe.write("\n")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|