Pergunta

Eu tenho esse 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 você pode ver o loop pára após um número de vezes que eu definir de antemão. Eu quero o loop for para parar somente depois que ele foi impresso tudo.

Foi útil?

Solução

O CSSSelector.cssselect () retorna um iterável, assim você pode simplesmente fazer:

for element in selector:
    print element.text_content()

Outras dicas

E

for e in selector:
    print e.text_content()

?

Eu esperaria que você quer um loop como:

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

for selector in selectors: 
    print selector.text_content()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top