Quizfrage (dt. Städte)

  • Was haben diese Städte:

    gemeinsam?

    Zwischenfragen die mit Ja oder Nein zu beantworten sind werden (hoffentlich zeitnah) beantwortet.

    mfg autoBert

  • Hi,
    zunächst stelle ich fest, die Städte sind alle im Norden bzw. Osten Deutschlands, erst hatte ich auf Hansestädte getippt, aber Eisleben ist dann doch bissl zu weit von der Küste entfernt^^

  • Da alle anderen Städte mal Hansestädte waren würde ich sagen das eisleben aus versehen in die Liste gekommen ist. Eisleben war zwar keine Hansestadt aber lutherstadt. Btw. Hansestädte müssen nicht an der Küste liegen. Z.b. War Dortmund auch mal Hansestadt.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • @BF, so weit war ich auch schon.... :D
    In allen Städten leben Menschen, und die Autos, die dort fahren, haben alle ein Nummernschild. Aus den Buchstaben aller dieser Nummernschilder kann man feine Wörter bilden....AUTOIT z.B. :rock:
    Die Quersumme(n) der Ascii-codes der Buchstaben der Städte führen zu 42.... 8o

    //EDIT
    was mich jetzt beschäftigt ist die Frage, wie ich eine Suche in einer beliebigen Suchmaschine initiiere, die mir die "Gemeinsamkeiten" der Suchwörter (also genau passend zur Problemstellung) abbildet.
    Die Suchmaschinen listen doch nur das häufigste Vorkommen aller Suchbegriffe auf EINER Webseite auf....

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    Einmal editiert, zuletzt von Andy (16. Februar 2013 um 11:00)

  • Ich weiß noch was sie gemeinsam haben. Sie bringem mindesten drei PU + ein Mod dazu darüber nachzudenken was sie gemeinsam haben :D.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Ich weiß noch was sie gemeinsam haben. Sie bringem mindesten drei PU + ein Mod dazu darüber nachzudenken was sie gemeinsam haben :D.


    Ich habe mir letzte Nacht auch einige Zeit den Kopf darüber zerbrochen was sie denn gemeinsam haben. Danach habe ich beschlossen den Quellcode der Seiteauf der sie alle vorkommen (wie 2050 andere auch) genauer zu analysieren. Kurz gesagt, sie passten nicht in das Schema das ich für die Tabellenzeile erkannt hatte:

    Spoiler anzeigen
    [autoit]

    $aSplit = StringSplit($aTmp[$i], ' title=', 1) ;in wikiLink und Rest splitten
    If $aSplit[0] > 1 Then ;ist hier immer der Fall
    ;_ArrayDisplay($aSplit)
    $j += 1
    $aStaedte[5] = StringReplace($aSplit[1], '"', '')
    $aTmp2 = _StringBetween($aSplit[2], '">', '</a>') ;Stadtname extrahieren
    If IsArray($aTmp2) Then $aStaedte[1] = $aTmp2[0]
    $aTmp2 = _StringBetween($aSplit[2], '</a> (', ')') ;Bundesland extrahieren
    If IsArray($aTmp2) Then $aStaedte[2] = $aTmp2[0]
    $aSql &= 'INSERT INTO Staedte (Name,BL,wiki) VALUES (' & _SQLite_Escape($aStaedte[1]) & "," & _SQLite_Escape($aStaedte[2]) & "," & _SQLite_Escape($aStaedte[5]) & ');' & @CRLF
    EndIf

    [/autoit]

    mit dem ich die Daten auswerten wollte da der Quellcode für sie so aussieht:

    Code
    <dd><a href="/wiki/Anklam" title="Anklam">Anklam</a>, Hansestadt (MV)</dd>
    ...
    <dd><a href="/wiki/Lutherstadt_Eisleben" title="Lutherstadt Eisleben">Eisleben</a>, Lutherstadt (ST)</dd>

    . Die Idee einfach den Startstring bei Stringbetween für das etxrahieren des Bundeslandes anzupassen scheiterte an Einträgen wie

    Code
    <dd><a href="/wiki/Erfurt" title="Erfurt">Erfurt</a> (TH, Landeshauptstadt)</dd>

    so dass mein Algo jetzt so aussieht:

    Spoiler anzeigen
    [autoit]

    ;[0]|"/wiki/Aach_(Hegau)" title="Aach (Hegau)">Aach</a> (BW)
    $aSplit = StringSplit($aTmp[$i], ' title=', 1) ;in wikiLink und Rest splitten
    If $aSplit[0] > 1 Then ;ist hier immer der Fall
    ;_ArrayDisplay($aSplit)
    $j += 1
    $aStaedte[5] = StringReplace($aSplit[1], '"', '')
    $aTmp2 = _StringBetween($aSplit[2], '">', '</a>') ;Stadtname extrahieren
    If IsArray($aTmp2) Then $aStaedte[1] = $aTmp2[0]
    $aTmp2 = _StringBetween($aSplit[2], '</a> (', ')') ;Bundesland extrahieren
    If IsArray($aTmp2) Then $aStaedte[2] = $aTmp2[0]
    If $aStaedte[2] = '' Then $aStaedte[2] = StringReplace(StringRight($aTmp[$i], 3), ')', '') ;;Bundesland extrahieren Sonderfälle
    If StringInStr($aStaedte[2], 'Landeshauptstadt') Or $aStaedte[1] = 'Hamburg'Then
    $aStaedte[2] = StringLeft($aStaedte[2], 2)
    $aStaedte[1] &= ', Landeshauptstadt'
    EndIf
    If StringInStr($aStaedte[2], 'Bundesstadt') Then
    $aStaedte[2] = StringLeft($aStaedte[2], 2)
    $aStaedte[1] &= ', Bundesstadt'
    EndIf
    If StringInStr($aStaedte[2], 'Bundeshauptstadt') Then
    $aStaedte[2] = StringLeft($aStaedte[2], 2)
    $aStaedte[1] &= ', Bundeshauptstadt'
    EndIf
    If $aStaedte[1] = '' Or $aStaedte[2] = '' Then FileWriteLine($hFailure, $aTmp[$i])
    $aSql &= 'INSERT INTO Staedte (Name,BL,wiki) VALUES (' & _SQLite_Escape($aStaedte[1]) & "," & _SQLite_Escape($aStaedte[2]) & "," & _SQLite_Escape($aStaedte[5]) & ');' & @CRLF
    EndIf

    [/autoit]

    Er funktioniert tadellos die Fehlerdatei hat 0 Byte auch ein Query auf die DB:

    Code
    Select  Staedte.BL, count(Staedte.BL) AS Anzahl from Staedte left join BL on Staedte.BL = BL.ID Group by BL.ID Order by Anzahl

    bringt die richtige Anzahl Städte pro Bundesland.

    chip: ich erkläre dich damit zum 1. denn du hast (bis auf den kleinen Unterschied dass es der Ersteller der Wikipediaseite nicht aus versehen getan hat) alles erkannt, die Liste enthält Hansestädte und die Lutherstadt Eisleben.
    Andy: dich erkläre ich zum 2. denn die Städte haben (wenn auch auf andere Art) alle etwas mit AutoIt zu tun. Und wenn man ausser den Stadtnamen noch wiki dazu nimmt gibt es nur 104.000 Ergebnisse bei der die Seite nach der du sicher gesucht hast an 3. Stelle steht.

    Ein schönes Rest-Wochenende wünscht autoBert