Pregunta

Tengo este script-

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() 

Como puede ver, el bucle for se detiene después de varias veces que configuré de antemano. Quiero que el bucle for se detenga solo después de que haya impreso todo.

¿Fue útil?

Solución

El método CSSSelector.cssselect () devuelve un iterable, por lo que puede hacer:

for element in selector:
    print element.text_content()

Otros consejos

¿Qué pasa con

?
for e in selector:
    print e.text_content()

?

Espero que desee un bucle for como:

selectors = website.cssselect('.name , .name, .desc')

for selector in selectors: 
    print selector.text_content()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top