Python Iteratorヘルプ+ lxml
質問
このスクリプトがあります-
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()
所属していません StackOverflow