python下的 pyquery 很给力的 !!!
pyquery 可以让你用jquery语法来对xml进行查询。这个API和jquery十分类似。如果利用lxml,pyquery对xml和html的操作将更加快速。
这个库并不是(至少还不是)一个可以和javascript互交的代码库。只是很喜欢jquery API并且在使用python的过程中,我真的很怀念jquery,所以我告诉我自己“让我们在python里面也使用jquery吧!”所以就有了这个库。
这个库可以有多种用途,比如我可以在将来用pyquery对纯http模板就行编辑,或者可以和Deliverance配套使用对样式进行操作.
这个项目现在基于mercurial开发,并用Bitbucket发布。我有权给任何想要审查代码的人权利。如果你想对代码进行贡献,给我电邮吧。
真心觉得比urllib2好用的多。
http://pypi.python.org/packages/source/p/pyquery/pyquery-0.3.tar.gz
解压缩
python setup.py install
就可以了,可能要安装ezsetup
现在的版本是0.3,还有一些jquery的东西没有实现,比如:radio,:password,以及一些ajax的功能,但是已经够用了,强烈推荐
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
>>> from pyquery
import
PyQuery
as
pq
>>>d = pq(
"<html></html>"
) #可以直接拼HTML
可加载一段HTML字符串,或一个HTML文件,或是一个url地址
>>>d = pq(url=
'http://ops.ruifengyun.com/'
) #也可以打开一个url
>>> d(
'title'
) #取title元素
[<title>]
html()和text() ——获取相应的HTML块或文本块
>>> print d(
'title'
).text()
ops 自动运维项目 监控,实时数据,集群管理
根据HTML标签来获取元素
>>> d(
'.s'
) #根据类名获取元素
[<li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>]
注意:当获取到的元素不只一个时,html()、text()方法只返回首个元素的相应内容块
>>> a = d(
'#sshcreate li:e(2)'
).find(
'a'
) #复杂点的选择器也是可以的,看来支持的不错
>>> a.attr(
'href'
) #属性操作
'http://monitor.ruifengyun.com/'
|
1
2
3
4
5
6
7
8
|
#coding=utf-
8
import
urllib
from pyquery
import
PyQuery
res = urllib.urlopen(
'http://movie.douban.com/subject/2129132/'
).read()
d = PyQuery(res)
print
"主演:"
for
starring
in
d(
"a[rel='v:starring']"
):
print PyQuery(starring).text()
|
本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1132725,如需转载请自行联系原作者