042010
 

PyQuery是一个类似于jQuery的Python库,也可以说是jQuery在Python上的实现。pyQuery是使用lxml来实现快速的xml和html操作的。具体的PyQuery文档见:http://pyquery.org/

用这个来做蜘蛛爬数据的时候分析html并从中提取数据还是很爽的。

废话不多说,直接看一点简单的例子吧:

>>> from pyquery import PyQuery as pq

>>> d = pq("<html></html>") #可以直接拼HTML

>>> d = pq(url='http://www.powereasy.net/') #也可以打开一个url

>>> d('title') #取title元素

[<title>]

>>> print d('title').text()

动易网络 – 领先的内容管理系统(CMS)、企业级电子商务平台(B2C)和站群管理系统(SiteGroup)提供商

>>> print d("#logo").html() #根据ID获取元素

<a href="http://www.powereasy.net" title="&#x52A8;&#x6613;&#x7F51;&#x7EDC;">官方主站</a>

>>> d('.s') #根据类名获取元素

[<li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>]

>>> a = d('#topNavIn li:eq(5)').find('a') #复杂点的选择器也是可以的,看来支持的不错

>>> a.attr('href') #属性操作

'http://sms.powereasy.net/'

>>> a.attr('href', 'http://qleelulu.cnblogs.com').attr('href') #修改属性值

'http://qleelulu.cnblogs.com'

>>> d('#LoginFrom').hasClass('Login_ajax') #css类操作

True

>>> d('#LoginFrom').addClass('lulu').attr('class') #css类操作

'lulu Login_ajax'

>>>

Continue reading »