2016-10-19 8 views
0

Okay, so habe ich ein Problem, ich schaute es nach oben, wusste aber nicht genau, was zu suchen und sah Probleme, die nichts mit mir zu tun hatten .. Also mein Problem hier ist ich nehme eine Eingabe in pythonPython: Überprüfen Sie eine Eingaben erste Zeichen

flashSite = raw_input('[?] Please Provide a Web Url : ') 

Nachdem sie die Eingabe nimmt ich es, wenn die http überprüfen möchten: // Zeichen werden am Anfang des Eingangs enthalten, wenn sie sie dann hinzufügen, sind nicht wieder in, wenn sie dann arent hinzufügen sie in für den Benutzer, Hilfe wird sehr geschätzt .. Auch ich bin neu zu Stackoverflow so habe ich Probleme mit kleinen Dingen wie Code in Kommentare setzen und so :(

edit: So aus anderen Antworten und Kommentare i kam mit diesem

def ScrapeFlashFiles(): 
flashSite = raw_input('Please Provide a web URL : ') 
if flashSite.lower().startswith(flashSite, beg=0, end=7('http://')): 
    return flashSite 
elif flashSite.lower().startswith(flashSite, beg=0, end=4('www.')): 
    flashSite = 'http://' + flashSite 
print ' Sending requests... ' 
flashReq = requests.get(flashSite) 
print ' Scraping content ' 
flashTree = html.fromstring(flashReq.content) 
print 'Searching for keyword \'.swf\' ' 
for line in flashReq.content.split('\n'): 
    if '.swf' in line: 
     print line 
print 'Flash Scrape Complete..' 

Mache ich etwas falsch hier?

Hinweis i ein Anfänger bin .. Im erhalte eine Fehlermeldung sprechen jetzt über einen int ..

Quelle, wo ich war über die starts Methode Lesen https://www.tutorialspoint.com/python/string_startswith.htm

+1

Werfen Sie einen Blick auf die 'startswith' Methode von Strings –

+0

Also, möglicherweise erstellen Sie eine if-Anweisung mit der startswith-Methode mit den Anfangs- und End-Parameter? – Xploit

+0

zu einfach ist es. Wenn Sie die Eingabe erhalten haben, überprüfen Sie die ersten 7 Zeichen durch diese: if slashSite [0: 7] == "http: //" ... –

Antwort

1

raw_input einen String zurückgibt, als sichtbar Die Dokumentation: https://docs.python.org/2/library/functions.html#

Da Sie mit einem String-Typ arbeiten, können Sie eine der String-Methoden https://docs.python.org/2/library/stdtypes.html#string-methods verwenden.

Zum Beispiel:

expected_beginning = 'http://' 
if not flashSite.startswith(expected_beginning): 
    flashSite = expected_beginning + flashSite 

Sie interessante Dinge tun könnte, wie sicher es immer tun klein geschrieben ist:

if not flashSite.lower().startswith(expected_beginning): 

usw.

+0

Ich habe gerade so etwas in codiert, aber ich wusste nicht über die, wenn nicht ich verwendet ein if und ein elif .. ist das eine schlechte Übung? – Xploit

+0

Meine Meinung ist, dass Ihr Code im Allgemeinen "gleichen Stil" sein sollte. Die Verwendung von ifs und elifs ist nicht schlecht. In diesem Fall habe ich mich entschieden, die "wenn nicht" -Klausel zu machen, um die Anzahl der Zeilen zu verringern. Denken Sie daran, dass "cleverer" Code verwirrender sein kann. Daher ist es nicht schädlich, Zeilen hinzuzufügen, solange Ihr Code einfacher zu lesen ist. – AbrahamB

+0

Ahh okay, das macht Sinn – Xploit

Verwandte Themen