Quizfrage (dt. Städte)
-
-
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.
-
- Offizieller Beitrag
öhhhm - alle Städte liegen an einem Fluß/Bach/Wasserlauf?
-
Haben die Städte was mit Politik zu tun?
Gruß,
UEZ -
@BF, so weit war ich auch schon....
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.
Die Quersumme(n) der Ascii-codes der Buchstaben der Städte führen zu 42....//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.... -
Ich weiß noch was sie gemeinsam haben. Sie bringem mindesten drei PU + ein Mod dazu darüber nachzudenken was sie gemeinsam haben :D.
-
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
[/autoit]
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
EndIfmit 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
so dass mein Algo jetzt so aussieht:
Spoiler anzeigen
[autoit];[0]|"/wiki/Aach_(Hegau)" title="Aach (Hegau)">Aach</a> (BW)
[/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]
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
EndIfEr funktioniert tadellos die Fehlerdatei hat 0 Byte auch ein Query auf die DB:
CodeSelect 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