分享

Python 插件杂谈 (3)

 xzdjm 2014-02-17


     嗯哼,Meego中文核心站 -- 米趣网 又发新博文啦, PyQueryPython 下用于 分析网页内容   的工具。 有点像 BeautifulSoup ,但是功能更近似于 JQuery ,相信用过 BeautifulSoup
的朋友对他的操作深有印象,远不及 JQuery的语法来得简单明了。
    先来段介绍:
    PyQuery
允许你使用 JQuery 的语法访问 XML 文档。PyQuery的API尽可能地与JQuery相似。PyQuery
使用 lxml 快速分析 xml 和 html文档。
    但是 PyQuery 不是(起码不再是)用来生成javascript 或者与javascript代码的库。我(作者本人)只是喜欢 JQuery 的 api 而在Python中找不到这样的工具,所以我告诉我自己在Python中制造这样的一个工具,于是就有了PyQuery 的产生。
   
PyQuery 可以用来实现多种用途,有一个主意我未来可能实现的,那就是使用它来模板化纯粹的http模板。我也用它进行网页抓取进而实现 装饰Deliverance 应用程序。
   
   接着来段Demo,让大家对 PyQuery 有个认识:

  1. >>> from pyquery import PyQuery as pq
  2. >>> from lxml import etree
  3. >>> import urllib
  4. >>> d = pq("<html></html>")
  5. >>> d = pq(etree.fromstring("<html></html>"))
  6. >>> d = pq(url='http://google.com/')
  7. >>> d = pq(url='http://google.com/', opener=lambda url: urllib.urlopen(url).read())
  8. >>> d = pq(filename=path_to_html_file)
复制代码

  上面的 d 有点像 jQuery 中的 $

  
  1. >>> d("#hello")
  2. [<p#hello.hello>]
  3. >>> p = d("#hello")
  4. >>> p.html()
  5. 'Hello world !'
  6. >>> p.html("you know <a href='http:///'>Python</a> rocks")
  7. [<p#hello.hello>]
  8. >>> p.html()
  9. u'you know <a href="http:///">Python</a> rocks'
  10. >>> p.text()
  11. 'you know Python rocks'
复制代码

   你可以使用很多 JQuery 类似的语法, 不过不包括那样不在css标准中的语法,如::first :last :even dd :eq :lt :gt :checked :selected :file:

   
  1. >>> d('p:first')
  2. [<p#hello.hello>]
复制代码


     最后,我就不啰嗦了,为大家提供一下, PyQuery的文档

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约