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

正如你所看到的for循环了一些我预先设定的时间后停止。 我想for循环停止后,才具有打印一切。

--------------解决方案-------------

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

for element in selector:
print element.text_content()

关于什么

for e in selector:
print e.text_content()

我希望你要为循环像个:

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

for selector in selectors:
print selector.text_content()

分类:蟒蛇 时间:2012-01-01 人气:2
分享到:

相关文章

  • LXML和循环创造蟒蛇XML RSS 2012-07-07

    我一直在使用lxml的创建RSS提要的XML. 不过,我有标签的麻烦,并不能真正弄清楚如何添加元素的动态数量. 鉴于LXML似乎只是功能的函数的参数,我似乎无法弄清楚如何环路项目的动态数字,没有重塑整个页面. rss = page = ( E.rss( E.channel( E.title("Page Title"), E.link(""), E.description(""), E.item( E.title("Hello!!!!!!

  • 刚刚返回XPath中元素的文本(蟒蛇/ LXML) 2012-08-29

    我有一个这样的XML结构: mytree = """ <path> <to> <nodes> <info>1</info> <info>2</info> <info>3</info> </nodes> </to> </path> """ 我目前使用XPath在python LXML抢节点: >>

  • 蟒蛇:重启循环 2012-09-09

    我有: for i in range(2,n): if(something): do something else: do something else i = 2 **restart the loop 但是,这似乎并没有工作. 有没有一种方法来重新启动循环? 谢谢 --------------解决方案------------- 您可能要考虑使用不同类型的循环,其中的逻辑是适用的,因为它是最明显的答案. 也许是: i=2 while i < n: if something: do somethi

  • 蟒蛇[LXML] - 清理HTML标签 2013-10-02

    from lxml.html.clean import clean_html, Cleaner def clean(text): try: cleaner = Cleaner(scripts=True, embedded=True, meta=True, page_structure=True, links=True, style=True, remove_tags = ['a', 'li', 'td']) print (len(cleaner.clean_html(text))- len(te

  • 迭代器循环与突破 2012-02-01

    让说我的代码看起来像以下 for(..) for(..) for(..){ break; //this will break out from the most inner loop OR all 3 iterated loops? } --------------解决方案------------- 你的榜样将打破只有最深层的循环. 但是,使用标记的break语句,你可以这样做: outer: for(..) for(..) for(..){ break outer; //this will b

  • 蟒蛇LXML,匹配属性 2012-03-20

    我有一些麻烦我的包裹周围LXML头. 我有一些HTML我想分析,我想办法做到这一点,但它并不觉得自己做到这一点的最好办法. 我想提取值属性的值,但前提是名称的值是"myInput" <input name="myInput" value="This is what i want"/> 我能做到这一点,但我觉得有一个更好的解决方案. doc = html.fromstring(data) tr = doc.cssselect("

  • 蟒蛇__iter__和循环 2012-04-01

    据我了解,我可以使用for一个对象环路建设__iter__返回的迭代器的方法. 我对我执行下面的一个对象__getattribute__方法: def __getattribute__(self,name): if name in ["read","readlines","readline","seek","__iter__","closed","fileno",&q

  • 蟒蛇lxml添加未使用的命名空间 2012-05-15

    我使用LXML的find()方法来选择一个XML文件的一个节点时,有一个问题. 基本上我想从一个XML文件中移动一个节点到另一个. 文件1: <somexml xmlns:a='...' xmlns:b='...' xmlns:c='...'> <somenode id='foo'> <something>bar</something> </somenode> </somexml> 有一次,我分析文件1,做一个找到它: node =

  • 与蟒蛇LXML库从任意的嵌套的HTML标记解析的所有文字正确的XPath语法 2012-06-07

    使用Python中LXML我创造了这个XPath语法 htmlPage.xpath("/html/body//a/text()") 它让我所有<a>在某些HTML范围我渴望标签都有效. 现在我遇到的<a>标签都有效看起来是这样的: <a>This is a sentence with some <italic>italic text</italic>-formatting I want to parse.</a>

  • 蟒蛇LXML /美丽的汤找到网页上的所有链接 2012-07-21

    男装,我写一个脚本来读取一个网页,并建立符合特定条件的链接数据库. 现在我坚持LXML并了解如何抓住所有的 result = self._openurl(self.mainurl) content = result.read() html = lxml.html.fromstring(content) print lxml.html.find_rel_links(html,'href') 谢谢! --------------解决方案------------- 使用XPath. 喜欢的东西(不能从

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.334 (s). 10 q(s)