Python Iterator Help + lxml
Frage
Ich habe dieses Skript -
import lxml
from lxml.cssselect import CSSSelector
from lxml.etree import fromstring
from lxml.html import parse
website = parse('http://example.com').getroot()
selector = website.cssselect('.name')
for i in range(0,18):
print selector[i].text_content()
Wie Sie die for-Schleife stoppt nach einer Anzahl, wie oft sehen kann, dass ich im Voraus festgelegt. Ich will die for-Schleife nur zu stoppen, nachdem es alles gedruckt wird.
Lösung
Die CSSSelector.cssselect () Methode gibt ein iterable, so können Sie einfach tun:
for element in selector:
print element.text_content()
Andere Tipps
Was ist
for e in selector:
print e.text_content()
Ich würde erwarten, dass Sie ein for-Schleife wollen wie:
selectors = website.cssselect('.name , .name, .desc')
for selector in selectors:
print selector.text_content()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow