address = ('http://www.somesite.com/article.php?page=' +numb)
html = urllib2.urlopen(address).read()
regex = re.findall(r"([a-f\d]{12})", html)
Wenn Sie das Skript ausführen, sieht die Ausgabe ähnlich aus:
['aaaaaaaaaaaa', 'bbbbbbbbbbbb', 'cccccccccccc']
Wie lasse ich das Skript diese Ausgabe drucken (beachten Sie den Zeilenumbruch):
aaaaaaaaaaaa
bbbbbbbbbbbb
cccccccccccc
Irgendeine Hilfe?
3 Antworten
Drucken Sie einfach regex
wie folgt aus:
print "\n".join(regex)
address = ('http://www.somesite.com/article.php?page=' +numb)
html = urllib2.urlopen(address).read()
regex = re.findall(r"([a-f\d]{12})", html)
print "\n".join(regex)
re.findall()
gibt eine Liste zurück. Sie können also entweder die Liste durchlaufen und jedes Element einzeln ausdrucken:
address = ('http://www.somesite.com/article.php?page=' +numb)
html = urllib2.urlopen(address).read()
for match in re.findall(r"([a-f\d]{12})", html)
print match
Oder Sie können tun, was @bigOTHER vorschlägt, und die Liste zu einer langen Zeichenfolge zusammenfügen und die Zeichenfolge drucken. Es macht im Wesentlichen das Gleiche.
Quelle: https://docs.python.org/2/library/re .html # re.findall
re.findall (Muster, Zeichenfolge, Flags = 0) Gibt alle nicht überlappenden Übereinstimmungen des Musters in der Zeichenfolge als Liste von Zeichenfolgen zurück. Die Zeichenfolge wird von links nach rechts gescannt, und Übereinstimmungen werden in der gefundenen Reihenfolge zurückgegeben. Wenn eine oder mehrere Gruppen im Muster vorhanden sind, geben Sie eine Liste der Gruppen zurück. Dies ist eine Liste von Tupeln, wenn das Muster mehr als eine Gruppe hat. Leere Übereinstimmungen sind im Ergebnis enthalten, sofern sie nicht den Beginn einer anderen Übereinstimmung berühren.
Verwenden Sie join
für das Ergebnis:
"".join("{0}\n".format(x) for x in re.findall(r"([a-f\d]{12})", html)
Verwandte Fragen
Neue Fragen
python
Python ist eine dynamisch typisierte Mehrzweck-Programmiersprache mit mehreren Paradigmen. Es wurde entwickelt, um schnell zu lernen, zu verstehen, zu verwenden und eine saubere und einheitliche Syntax durchzusetzen. Bitte beachten Sie, dass Python 2 ab dem 01.01.2020 offiziell nicht mehr unterstützt wird. Fügen Sie für versionenspezifische Python-Fragen das Tag [python-2.7] oder [python-3.x] hinzu. Wenn Sie eine Python-Variante (z. B. Jython, PyPy) oder eine Bibliothek (z. B. Pandas und NumPy) verwenden, fügen Sie diese bitte in die Tags ein.