Seite 1 von 1
Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 06:57
von Lutz_lernt_Python
Hallo, ich fange gerade an Python zu lernen. Jetzt habe ich mir eine Tabelle mit Städten geschrieben und in Python exportiert.
Auch kann ich Google automatisch öffnen. Jetzt komme ich aber nicht weiter.
Wenn ich nun in Google schrittweise "Wetter Berlin" danach "Wetter München" etc. nach meiner Tabelle eingeben lassen will hört es leider mit meinen Kenntnissen auf.
Hat mal jemand einen kleinen Tipp für mich, wie ich hier weiten kommen könnte ?
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 07:40
von sparrow
Dann zeig doch mal, was du bisher hast.
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 08:46
von Kebap
In welche Richtung / bei welchem Ziel willst du überhaupt ankommen?
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 11:35
von Lutz_lernt_Python
import csv
import webbrowser
import time
url = '
https://www.google.de/?hl=de'
webbrowser.open(url)
with open("adressen.csv") as csvdatei:
csv_reader_object = csv.reader(csvdatei)
for row in csv_reader_object:
print(row)
Ich arbeite mit VSC. Dort habe ich auch dei csv mit den Adressen eingebunden.
Wie gesagt, ich möchte automatisch bei Google z.B. "Wetter Berlin" und dann "Wetter München" nacheinander "eingeben" und mir später auslesen.
Sicher wird das auch anders gehen (API ? ) Aber ich möchte erstmal damit bisschen probieren und dabei lernen.
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 11:40
von grubenfox
Klingt nach einem Fall für Selenium
https://www.selenium.dev/
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 11:41
von Sirius3
Dazu mußt Du doch nur schauen, wie die URL bei google aussieht:
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 12:23
von grubenfox
... oder so.
Re: Städte nacheinander in Browser schreiben
Verfasst: Montag 17. April 2023, 12:44
von __blackjack__
@Lutz_lernt_Python: Anmerkungen zum Quelltext:
`time` wird importiert, aber nirgends verwendet.
Beim öffnen von Textdateien sollte man immer explizit die Kodierung der Datei angeben und nicht darauf bauen, dass die schon zufällig die gleiche sein wird, die Python für das System ”geraten” hat.
Beim öffnen von CSV-Dateien muss man das `newlinwe`-Argument angeben. Siehe Dokumentation vom `csv`-Modul.
`*_object` mach als Namenszusatz keinen Sinn weil in Python *alles* was man an einen Namen binden kann, ein Objekt ist. An einzelne Namen noch mal `_object` anzuhängen bringt dem Leser keinen Mehrwert. Und es ist auch willkürlich, denn an alle anderen Namen hätte man das ja auch anhängen müssen.
Man muss nicht jedes kleine Zwischenergebnis an einen Namen binden.
Zwischenstand:
Code: Alles auswählen
#!/usr/bin/env python3
import csv
import webbrowser
def main():
webbrowser.open("https://www.google.de/?hl=de")
with open("adressen.csv", encoding="utf-8", newline="") as csv_datei:
for row in csv.reader(csv_datei):
print(row)
if __name__ == "__main__":
main()
Re: Städte nacheinander in Browser schreiben
Verfasst: Dienstag 18. April 2023, 06:40
von Lutz_lernt_Python
Sirius3 hat geschrieben: Montag 17. April 2023, 11:41
Dazu mußt Du doch nur schauen, wie die URL bei google aussieht:
Ja. Das ich nur die URL kopieren muss ist klar.
Ich habe mich dann wohl falsch ausgedrückt.
Nehmen wir an ich hätte jetzt z.B. 5 URL mit den Wetter+Stadt in meiner Liste.
Mein Ziel wäre es aber jetzt nicht selber zu tippen, sondern mir automatisiert am Browser zuerst Berlin anzusehen nach z.B. 5 sec zu schließen und dann kommt München usw.
Die eine URL automatisch aufzurufen, kann ich bereits. Ich weiß nur nicht wie ich dann automatisch zur zweiten und dritten komme ??
Vielleicht kann mir einer einen kleinen Gedankenanstoß geben.
Re: Städte nacheinander in Browser schreiben
Verfasst: Dienstag 18. April 2023, 08:23
von __blackjack__
@Lutz_lernt_Python: Der Gedankenanstoss kam schon von grubenfox: Selenium.