GlumiChan Geschrieben 6. September 2016 Geschrieben 6. September 2016 (bearbeitet) Hallo meine lieben Fachinformatiker, mit diesem Thread greife ich mal folgenden Post auf: Ich habe mir kurz ein Programm geschrieben, welches mir die geposteten Gehälter auflistet, nach einwenig manuellen rum formatieren der erhaltenen Ausgabe ging es dann weiter durch das Programm zur genauen Auswertung. Anschließend die Ergebnisse in ein Diagramm gepackt, und Voilá! Hier ist eine Grafische Darstellung der Beiträge aus: In welchem Alter habt Ihr eure Ausbildung angefangen? Die Durchschnittliche Vergütungserhöhung pro Jahr: Die Aufteilung der verschiedenen Gehälter: Falls jemand an dem Source vom Programm (Um die Rawdata zu holen) interessiert ist: private readonly String AZUBITHREAD = "https://www.fachinformatiker.de/index.php?/topic/150679-in-welchem-alter-habt-ihr-eure-ausbildung-angefangen/"; private readonly String DYNAMICTHREAD = "https://www.fachinformatiker.de/index.php?/topic/150679-in-welchem-alter-habt-ihr-eure-ausbildung-angefangen/&page={0}"; private readonly String[] SPECIALSTUFF = new String[] { "<p>", "</p>", "Ausbildungsgehalt (1/2/3 Lehrjahr):" , " "}; private String GetStringBetweenStrings(String source, String s1, String s2) { String output = ""; String part1 = source.Split(new string[] { s1 }, StringSplitOptions.RemoveEmptyEntries)[1]; output = part1.Split(new string[] { s2 }, StringSplitOptions.RemoveEmptyEntries)[0]; return output; } private bool IsGehalt(String s) { if (!s.Contains(":")) { return false; } int charIndex = s.IndexOf(':'); try { return IsNumeric(s.ElementAt(charIndex + 2).ToString()); }catch { return false; } } private String RemoveSpecialStuff(String s) { String output = s; foreach (String val in SPECIALSTUFF) { output = output.Replace(val, ""); } return output.TrimStart().TrimEnd(); } private bool IsNumeric(String s) { int v; return int.TryParse(s, out v); } private String FetchData() { WebClient client = new WebClient() { Proxy = null }; String firstPull = client.DownloadString(AZUBITHREAD); StringBuilder strBuild = new StringBuilder(""); int maxPages = int.Parse(GetStringBetweenStrings(firstPull, "Seite 1 von ", " ")); RichTextBox tmpBox = new RichTextBox(); for (int page = 1; page <= maxPages; page++) { tmpBox.Text = client.DownloadString(String.Format(DYNAMICTHREAD, page)); foreach (String line in tmpBox.Lines) { if (line.Contains("Ausbildungsgehalt") && IsGehalt(line)) { strBuild.AppendLine(RemoveSpecialStuff(line)); } } } return strBuild.ToString(); } Bearbeitet 6. September 2016 von GlumiChan StefanE, JimTheLion, mqr und 1 Weiterer reagierten darauf 4
GlumiChan Geschrieben 6. September 2016 Autor Geschrieben 6. September 2016 (bearbeitet) Hier noch die PowerPoint-Datei, die die Diagramme beinhaltet. Gehälter.pptx Bearbeitet 6. September 2016 von GlumiChan
mqr Geschrieben 6. September 2016 Geschrieben 6. September 2016 Hallo GlumiChan, Find ich gut, jetzt muss das noch aktualisiert werden. Nach jedem neuen Eintrag bzw. zB. einmal jährlich. Vielleicht sogar im Board implementiert. Grüße Micha
GlumiChan Geschrieben 7. September 2016 Autor Geschrieben 7. September 2016 (bearbeitet) Falls Interesse an der Erhaltung dieser Auswertung besteht kann ich ja ne kleine Website schreiben, wo man die ganzen Auswertungen live sehen kann & unten dann jeder seine Gehälter einfügen kann, die dann direkt in die Statistik mit einfließen können. (Natürlich mit einpaar Vorkehrungen um Trolls fernzuhalten) MFG GlumiChan Bearbeitet 7. September 2016 von GlumiChan
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden