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.

War es hilfreich?

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
scroll top