这篇文章给大家介绍pyquery如何获取你想要的元素或文本信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<节>,你好,才能各位小伙伴,大家好,今天我们分享一下pyquery如何获取你想要的元素或者说想要的文本信息的。
我们主要是给出在工程开发中的比较常用的一些情况出来,后续我呢会带着大家一起用今天学到的东西去抓取天天基金网上有意思的基金数据。
1。可加载一段HTML字符串,或一个HTML文件,或是一个url地址,
d=pq (“& lt; html> & lt; title> hello & lt;/html>“)
d=pq(文件名=path_to_html_file)
d=pq (url=& # 39; http://www.baidu.com& # 39;)注意:此url处似乎必须写全
2. HTML()和文本(),获取相应的HTML块或文本块,
p=pq (“& lt; head> & lt; title> hello & lt;/head>“)
p(& # 39;头# 39;). HTML() #返回& lt; title> hello
p(& # 39;头# 39;)。text() #返回你好
3。根据HTML标签来获取元素,
d=pq (& # 39; & lt; div> & lt; p>测试1 & lt;/p> & lt; p>测试2 & lt;/p> & lt;/div> & # 39;)
d (& # 39; p # 39;) #返回[& lt; p> & lt; p>]
打印d (& # 39; p # 39;) #返回& lt; p>测试1 & lt;/p> & lt; p>测试2 & lt;/p>
打印d (& # 39; p # 39;) . HTML() #返回测试1
注意:当获取到的元素不只一个时,HTML(),文本()方法只返回首个元素的相应内容块
4. eq(索引),根据给定的索引号得到指定元素
接上例,若想得到第二个标页签内的内容,则可以:
打印d (& # 39; p # 39;) .eq (1) . HTML() #返回测试2
5.过滤(),根据类名,id名得到指定元素,例:
d=pq (“& lt; div> & lt; p id=& # 39; 1 & # 39;在测试1 & lt;/p> & lt; p类=& # 39;2 & # 39;在测试2 & lt;/p> & lt;/div>“)
d (& # 39; p # 39;) .filter(& # 39; # 1 & # 39;) #返回[& lt; p # 1祝辞]
d (& # 39; p # 39;) .filter(& # 39; 2 # 39;) #返回[& lt; p.2>]
6.发现()——查找嵌套元素
d=pq (“& lt; div> & lt; p id=& # 39; 1 & # 39;在测试1 & lt;/p> & lt; p类=& # 39;2 & # 39;在测试2 & lt;/p> & lt;/div>“)
d (& # 39; div # 39;); (& # 39; p # 39;) #返回[& lt; p # 1祝辞,& lt; p.2>]
d (& # 39; div # 39;); (& # 39; p # 39;) .eq(0) #返回[& lt; p # 1祝辞]
7。直接根据类名,id名获取元素
d=pq (“& lt; div> & lt; p id=& # 39; 1 & # 39;在测试1 & lt;/p> & lt; p类=& # 39;2 & # 39;在测试2 & lt;/p> & lt;/div>“)
d (& # 39; # 1 & # 39;) . html() #返回测试1
d (& # 39; 2 # 39;) . html() #返回测试2
8。获取属性值
d=pq (“& lt; p id=& # 39; my_id& # 39;祝辞& lt; https://www.yisu.com/zixun/a href=" http://hello.com "> >
"你好)d(& # 39;一个# 39;).attr (& # 39; href # 39;) #返回http://hello.com
d (& # 39; p # 39;) .attr (& # 39; id # 39;) #返回my_id
9。修改属性值
d(& # 39;一个# 39;).attr (& # 39; href # 39; & # 39; http://baidu.com& # 39;)把href属性修改为了百度
最好选择用addclass(价值)——为替代10.元素添加类
d=pq (& # 39; & lt; div> & lt;/div> & # 39;)
d.addClass (& # 39; my_class& # 39;) #返回[& lt; div.my_class>]
11. hasclass(名字)#返回判断元素是否包含给定的类
d=pq (“& lt; div类=& # 39;my_class& # 39;祝辞& lt;/div>“)
d.hasClass (& # 39; my_class& # 39;) #返回真正的
12.个孩子(选择器=None),获取子元素
d=pq (“& lt; span> & lt; p id=& # 39; 1 & # 39;祝辞hello
& lt; p id=& # 39; 2 & # 39;祝辞world & lt;/span>“)d.children() #返回[& lt; p # 1祝辞,& lt; p # 2祝辞]
d.children(& # 39; # 2 & # 39;) #返回[& lt; p # 2祝辞]
13.的父母(选择器=None),获取父元素
d=pq (“& lt; span> & lt; p id=& # 39; 1 & # 39;祝辞hello
& lt; p id=& # 39; 2 & # 39;祝辞world & lt;/span>“)d (& # 39; p # 39;) .parents() #返回[& lt; span>]
d (& # 39; # 1 & # 39;) .parents(& # 39;跨度# 39;)#返回[& lt; span>]
d (& # 39; # 1 & # 39;) .parents (& # 39; p # 39;) #返回[]
14.克隆()——返回一个节点的拷贝
15.空()——移除节点内容
16. nextall(选择器=None),返回后面全部的元素块
d=pq (“& lt; p id=& # 39; 1 & # 39;祝辞hello
& lt; p id=& # 39; 2 & # 39;祝辞world & lt; img可控硅=& # 39;& # 39;“/?)d (& # 39; p:第一个# 39;).nextAll() #返回[& lt; p # 2祝辞,& lt; img>]
d (& # 39; p:这# 39;).nextAll() #返回[& lt; img>]