ich habe gestern aus etwas Langeweile mal das Archiv zum Python Kochbuch durchsucht (welches sich hier findet: http://aspn.activestate.com/ASPN/Python/Cookbook/) und dabei ist mir ein kleines, interessantes Script in die Hände gefallen ->
http://code.activestate.com/recipes/573447/
Das Skript startet den Webbrowser mit der spezifischen URL/URI, welche sich aus dem Suchstring zusammensetzt. DIe Suchbegriffe werden einfach in der Kommandozeile eingegeben und abgeschickt. Das Original-Skript ist recht kurz und knapp und anhand dieser Idee habe ich das Ganze einfach mal aus Spass erweitert.
Also, hier der Code dazu und meine Bitte bzw. Frage:
Was daran ist gut, was schlecht, was falsch, wie würdet Ihr sowas angehen? Ich plane, das noch weiter auszubauen und etwas besser zu verpacken, sprich, ich will daraus ein etwas umfangreicheres Prog bauen mit kompletter OO usw. Mir gehts erstmal nur um den Ansatz und die Ausführung, z.B. meine zwei "while"-Schleifen unten, mit denen ich das Ganze durchlaufe.
Code: Alles auswählen
#!c:\Python25\python\python.exe
# -*- coding: utf-8 -*-
# @Author: ne0h
import webbrowser
import sys
print "\nWebsearch from command line. Type '!quit!' to exit the program.\n"
print "Which searchengine do you want to use?\n"
print "[1] Google German"
print "[2] Google English"
print "[3] Yahoo Search"
print "[4] Microsoft Live Search\n"
# variables
sEngine = ""
chosen_sEngine = ""
def chooseSE(sEngine):
# URLs to the searchengines
url_googleDE = "http://www.google.de/search?hl=de&q="
url_googleEN = "http://www.google.com/search?hl=en&q="
url_yahooSearch = "http://de.search.yahoo.com/search?p="
url_msLiveSearch = "http://search.live.com/results.aspx?q="
if eval(sEngine) == 1:
print "Your searchengine is: Google German.\n"
return url_googleDE
elif eval(sEngine) == 2:
print "Your searchengine is: Google English.\n"
return url_googleEN
elif eval(sEngine) == 3:
print "Your searchengine is: Yahoo Search.\n"
return url_yahooSearch
else:
print "Your searchengine is: Microsoft Live Search.\n"
return url_msLiveSearch
while True:
if sEngine == "!quit!":
sys.exit("\n...program closed.")
if sEngine.isdigit():
if eval(sEngine) >= 1 and eval(sEngine) <= 4:
break
else:
sEngine = raw_input("Your choice: ")
else:
sEngine = raw_input("Your choice: ")
chosen_sEngine = chooseSE(sEngine)
while True:
searchTerm = raw_input("\nSearch for: ")
if searchTerm == "!quit!":
sys.exit("\n...program closed.")
url_add1 = ''
searchTerm = '+'.join((searchTerm.split(' ')))
print "Your searchterm(s) were: \"%s\"" % (searchTerm, )
webbrowser.open(chosen_sEngine + searchTerm)
if __name__ == "__main__":
main()
Über Kritik und Anregungen würde ich mich freuen.
Gruss
ne0h