2009-05-06 7 views
1

私はあなたがループのために、私は事前に設定した回数の後に停止した見ることができるように、これはPythonのイテレータヘルプ+ 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() 

をscript-持っています。私はforループがすべてを印刷した後で止まるようにしたい。

+0

みんなありがとうを...私はxxx.comとしてウェブサイトを置くことに気づいただけです。 –

+0

ちなみに、 'cssselect'メソッドをルート上で使用しているので、' CSSSelect'をインポートする必要はありません。 –

答えて

5

CSSSelector.cssselect()メソッドは、反復可能なを返し答えるため

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

for selector in selectors: 
    print selector.text_content() 
+0

+1、それまでに私にそれを打つ。 –

+0

iterableの場合、なぜ私は "TypeError: 'CSSSelector'オブジェクトがiterableにならないのですか?iterateしようとするとどうなりますか?編集:私は "getroot"の部分を行うことを忘れてしまった – Amalgovinus

2

for e in selector: 
    print e.text_content() 

については何?

for element in selector: 
    print element.text_content() 
2

私はあなたのようなforループたい期待:あなただけ行うことができますので