Python迭代器帮助 + lxml

1 投票
3 回答
907 浏览
提问于 2025-04-15 11:25

我有一个这样的脚本-

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

你可以看到,这个循环在我预先设定的次数后就停止了。我希望这个循环能在打印完所有内容后再停止。

3 个回答

2

那这个呢

for e in selector:
    print e.text_content()

?

2

我想你可能需要一个像这样的循环:

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

for selector in selectors: 
    print selector.text_content()
5

CSSSelector.cssselect() 这个方法会返回一个可以逐个遍历的结果,也就是说你可以直接这样做:

for element in selector:
    print element.text_content()

撰写回答