我有这个脚本 -

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

正如您所看到的,for循环在我预先设置的次数之后停止。我希望for循环只有在打印完所有内容后才会停止。

有帮助吗?

解决方案

CSSSelector.cssselect()方法返回一个iterable,所以你可以这样做:

for element in selector:
    print element.text_content()

其他提示

怎么样?
for e in selector:
    print e.text_content()

我希望你想要一个for循环,如:

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

for selector in selectors: 
    print selector.text_content()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top