本文介绍了pyquery如何获取您想要的元素或文本信息。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。
哈喽,朋友们,哈喽,今天我们就来分享一下pyquery是如何获取你想要的元素或者文本信息的。
我们主要给出一些工程开发中常用的案例。稍后,我将带大家用今天学到的内容,从田甜基金在线抓取有趣的基金数据。
1.您可以加载一个超文本标记语言字符串,或者一个超文本标记语言文件,或者一个网址。
d=pq(' html title hello/title/html ')
d=pq(文件名=path_to_html_file)
D=pq(url='http://www.baidu.com ')注:这里的url好像要写满。
HTML()和text() ——得到对应的HTML块或文本块,
p=pq(' head title hello/title/head ')
P('head ')。html()#返回titlehello/title。
P('head ')。text()#返回hello。
3.根据HTML标签获取元素,
d=pq('divptest 1/pptest 2/p/div ')
D('p')#返回[p,p]
打印(' p') #返回ptest 1/pptest 2/p
打印(' p ')。html () #返回测试1
注意:当获得多个元素时,html()和text()方法只返回第一个元素对应的内容块。
4.eq(index) ——根据给定的索引号获取指定的元素。
例如,如果您想要获取第二个P标记的内容,您可以:
打印(' p ')。等式(1)。html () #返回测试2
5.filter() ——根据类名和id名获取指定的元素,例如:
d=pq('divp id='1 '测试1/pp类='2 '测试2/p/div)
D('p ')。过滤器(' 1') #返回[p#1]
D('p ')。过滤器(' . 2') #返回[第2页]
6 .查找()——查找嵌套元素
d=pq('divp id='1 '测试1/pp类='2 '测试2/p/div)
D('div ')。find('p')#返回[p#1,p.2]
D('div ')。查找(' p ')。等式(0)#返回[p#1]
7.根据类名和id名直接获取元素。
d=pq('divp id='1 '测试1/pp类='2 '测试2/p/div)
D('#1 ')。html()#返回测试1
D('.2 ')。html()#返回测试2
8.获取属性值
d=pq(' p id=' my _ id ' a href=' http://hello.com ' hello/a/p ')
D('a ')。attr('href')#返回http://hello.com。
D('p ')。attr('id')#返回my_id
9.修改属性值
D ('a ')。attr ('href ',' http://bbaidu.com ')将href属性改为百度。
10.addClass(value) ——为元素添加一个类。
d=pq('div/div ')
D.addClass('my_class')#返回[div.my_class]
1.11.hasClass(name) #返回以确定元素是否包含给定的类。
d=pq('div class='my_class'/div ')
D.hasClass('my_class')#返回True
12.子元素(选择器=无)——获取子元素
d=pq(' spanp id=' 1 ' hello/PP id=' 2 ' world/p/span)
D.children()# returns [p#1,p#2]
孩子(' 2')#返回[第2页]
13 .父元素(选择器=无)——获取父元素
d=pq(' spanp id=' 1 ' hello/PP id=' 2 ' world/p/span)
D('p ')。parents()# Returns [span]
D('#1 ')。父代(' span')#返回[span]
D('#1 ')。父代(' p')#返回[]
14.clone() ——返回一个节点的副本。
15 .清空()——删除节点内容
16.nextAll(选择器=无)——返回以下所有元素块。
d=pq(' p id=' 1 ' hello/PP id=' 2 ' world/pimg SCR=' '/')
D('p:first ')。nextAll()#返回[p#2,img]
D('p:last ')。nextAll()#返回[img]
17.not_(选择器)——返回与选择器不匹配的元素。
d=pq('p id='1 '测试1/pp id='2 '测试2/p)
D('p ')。not _(“# 2”)# Return[p # 1]
18.遍历:
通过items方法返回对象列表,或者使用lambda。
#!/usr/bin/python
'''
@File:pyquery_demo.py
@Time:2019/8/3116:46
@ author :海石牛
@Software:PyCharm
'''
frompyqueryimportpyqueryaspq
doc=pq(' divullih 2/Lili H3/Li/ul/div ')
列表=文档(' li ')
forliinlist.items():
Print(li.html)以上就是pyquery如何获取想要的元素或文本信息的全部内容。希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/133809.html