質問

このスクリプトがあります-

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