GlumiChan Geschrieben 6. September 2016 Teilen 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 JimTheLion, Goulasz, mqr und 1 Weiterer reagierten darauf 4 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GlumiChan Geschrieben 6. September 2016 Autor Teilen Geschrieben 6. September 2016 (bearbeitet) Hier noch die PowerPoint-Datei, die die Diagramme beinhaltet. Gehälter.pptx Bearbeitet 6. September 2016 von GlumiChan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lehmi Geschrieben 6. September 2016 Teilen Geschrieben 6. September 2016 Sehr Schön ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mqr Geschrieben 6. September 2016 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
GlumiChan Geschrieben 7. September 2016 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.