Ich habe einen Code, der eine while-Schleife verwendet, um zu drucken, was in den <a href>
und </a>
Tags einer Webseite enthalten ist. Ich kann die benötigten Indizes und alles, was dazwischen steht, extrahieren und auch ausdrucken. Das Programm soll die URL nur einmal drucken, und dann weitergehen und den Index erhöhen, bis der nächste Indexwert für <a href>
und </a>
gefunden wird, was auch immer zwischen ihnen gedruckt wird, und dies bis zum Ende der Zeichenkette tun Jede neue URL wurde in einer separaten Zeile gefunden. Hier ist der Code:Python-Programm Druckergebnis mehrere Male
text = """ohsfhskfheifhsefis <a href = "fdnsfjsnfsnfns snkfsndfskj"</a>
<a href = "snfksnfsdf"</a>"""
index = 0
a = 0
b = 0
while index < len(text):
a = text.find('href', index)
b = text.find('/a', index)
print(text[a:b])
index = index + 2
if index >= len(text):
print("End")
break
Allerdings, wenn ich das Programm ausführen, funktioniert es wie in den Bildern gezeigt.
Offensichtlich ist die Logik, die ich verwende, hier falsch. Ich weiß, dass es noch andere einfachere Möglichkeiten gibt, um diese Aufgabe zu erfüllen, aber ich bin nicht zu den komplexeren Dingen gekommen, da ich erst vor kurzem angefangen habe, Python zu lernen, und würde es vorläufig so machen.
On the left is the first part of the Program. On the right is the second.
Sie können auch deutlich sehen, die Leerräume gelassen werden, weil das Programm die URL bei jeder Erhöhung des Index druckt.
Jede Art von Hilfe würde sehr geschätzt werden.
Seine Arbeit, aber jetzt gibt es eine Endlosschleife. – Hamza
@Katastrophe: Pause wenn 'a == -1 oder b == -1'. –