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 = " 动易网络 " > 官方主站 </ 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 '
>>>
>>> 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 = " 动易网络 " > 官方主站 </ 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 '
>>>
就写这么多吧。更多的功能还是等你慢慢发掘去~~~~