视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python中的jqueryPyQuery库使用小结
2020-11-27 14:30:21 责编:小采
文档
 pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,使用方法:
代码如下:


from pyquery import PyQuery as pq


1、可加载一段HTML字符串,或一个HTML文件,或是一个url地址,例:
代码如下:


d = pq("hello")
d = pq(filename=path_to_html_file)
d = pq(url='http://www.baidu.com') # 此处url必须写全


2、html() 和 text() ——获取相应的HTML块或文本块,例:
代码如下:


p = pq("hello")
p('head').html() # 返回hello
p('head').text() # 返回hello


3、根据HTML标签来获取元素,例:
代码如下:


d = pq('

test 1

test 2

')
d('p') # 返回[

,

]
print d('p') # 返回

test 1

test 2


print d('p').html() # 返回test 1


注意:当获取到的元素不只一个时,html()、text()方法只返回首个元素的相应内容块

4、eq(index) ——根据给定的索引号得到指定元素

接上例,若想得到第二个p标签内的内容,则可以:
代码如下:


print d('p').eq(1).html() # 返回test 2

5、filter() ——根据类名、id名得到指定元素,例:
代码如下:


d = pq("

test 1

test 2

")
d('p').filter('#1') # 返回[]
d('p').filter('.2') # 返回[]


6、find() ——查找嵌套元素,例:
代码如下:


d = pq("

test 1

test 2

")
d('div').find('p') # 返回[, ]
d('div').find('p').eq(0) #返回[]


7、直接根据类名、id名获取元素,例:
代码如下:


d = pq("

test 1

test 2

")
d('#1').html() # 返回test 1
d('.2').html() # 返回test 2


8、获取属性值,例:
代码如下:


d = pq("

hello

")
d('a').attr('href') # 返回http://hello.com
d('p').attr('id') # 返回my_id


9、修改属性值,例:
代码如下:


d('a').attr('href', 'http://baidu.com')

10、addClass(value) ——为元素添加类,例:
代码如下:


d = pq('')
d.addClass('my_class') # 返回[]


11、hasClass(name) #返回判断元素是否包含给定的类,例:
代码如下:


d = pq("")
d.hasClass('my_class') # 返回True


12、children(selector=None) ——获取子元素,例:
代码如下:


d = pq("

hello

world

")
d.children() # 返回[, ]
d.children('#2') # 返回[]


13、parents(selector=None)——获取父元素,例:
代码如下:


d = pq("

hello

world

")
d('p').parents() # 返回[]
d('#1').parents('span') # 返回[]
d('#1').parents('p') # 返回[]


14、clone() ——返回一个节点的拷贝

15、empty() ——移除节点内容

16、nextAll(selector=None) ——返回后面全部的元素块,例:
代码如下:


d = pq("

hello

world

")
d('p:first').nextAll() # 返回[, ]
d('p:last').nextAll() # 返回[]


17、not_(selector) ——返回不匹配选择器的元素,例:
代码如下:


d = pq("

test 1

test 2

")
d('p').not_('#2') # 返回[]


更多内容,参考官网 http://packages.python.org/pyquery

下载本文
显示全文
专题