pyquery
初始化
字符串初始化
html = '''
<div id="container">
<ul class="list">
<li class="item-O">first item</li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
<li class="item-1 active"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="links.html">fifth item</a></li>
</ul>
</div>
'''
from pyquery import PyQuery as py
doc = py(html)
print(doc('li'))
URL初始化
from pyquery import PyQuery as py
doc = py(url='http://www.itheima.com/')
print(doc('title'))
# 等同
from pyquery import PyQuery as py
import requests
doc = py(requests.get('http://www.itheima.com').text)
print(doc('title'))
文件初始化 传递本地的文件名,只需将参数指定为filename
from pyquery import PyQuery as py
doc = py(filename='test.html')
print(doc('li'))
基本CSS选择器
# 上面的例子
from pyquery import PyQuery as py
doc = py(html)
print(doc('#container .list li'))
print(type(doc('#container .list li')))
查找节点
子节点
from pyquery import PyQuery as py
doc = py(html)
items = doc('.list')
print(type(items))
print(items)
# 使用find()方法查找所有子孙节点
lis = items.find('li')
print(type(lis))
print(lis)
# 使用children()查找直接子节点
lis = items.children()
print(type(lis))
print(lis)
父节点
方 法 描 述 parent()
返回PyQuery类型,获取直接父节点 parents()
获取祖先节点,可以传入CSS选择器获取指定的节点
兄弟节点
siblings()
,获取所有兄弟节点,传入CSS选择器返回指定节点
遍历
# 使用item()方法得到一个生成器,循环遍历li节点
from pyquery import PyQuery as py
doc = py(html)
lis = doc('li').items()
print(type(lis))
for li in lis:
print(li, type(li))
获取信息
获取属性
from pyquery import PyQuery as py
doc = py(html)
a = doc('.item-0.active a')
print(a, type(a))
print(a.attr('href'))
# 使用遍历输出多个属性值
a = doc('a')
for item in a.items():
print(item.attr('href'))
获取文本.text()
返回所有
节点操作
方法 描述 .addClass()
添加传入值的属性值 .removeClass()
删除传入值的属性值 .attr()
传入修改的属性名和属性值 .text()
改变文本内容 .html()
改变内容 .remove()
移除节点信息
伪类选择器
官方文档