关于pyquery的简单使用
- List item
第一:导入PyQuery对象
from pyquery import PyQuery as pq
第二:初始化。
初始化pq有三种方式:
1.传入字符串;
html = '''
<div>
<ul>
<li><a>传入字符串</a></li>
</ul>
</div>
'''
doc = pq(html)
2.传入url;
doc = pq('https://www.baidu.com')
3.传入本地的文件名
doc = pq(filename = 'demo.text')
第三:选取(所需信息)在的节点
CSS选择器
items = doc('#list .li a')
# id为list的节点下,class为li的节点下所有的a节点
items = doc('.item0.active')
# class = 'item0 active'的节点
其他选取节点的函数:
find(‘a’)方法用来选取某节点的所有子孙节点中的a节点,括号中可传入其他参数
items = doc('.list')
print(items.children())
#list节点下的子节点
print(items.parent())
#list节点下的父节点
print(items.parents('.index_wrap'))
#list所有祖宗节点(包括父节点)中,class为index_wrap的节点
print(items.parents('.index_wrap').siblings())
#list所有祖宗节点(包括父节点)中,class为index_wrap的节点的所有兄弟节点
遍历:
对于已选节点中,满足某条件的多个节点要遍历才能全部输出
lis = doc('.list').items()
#调用items()函数,将pq对象转为生成器,此时lis的类型为generator
for li in lis:
print(li,type(li))
#遍历输出每一个pq对象(li),此时li的类型为pyquery.pyquery.PyQuery
第四:获取所需信息
获取属性:
html = '''
xxxxxxxxxx
'''
from pyquery import PyQuery as pq
doc = pq(html)
lis = doc('#xxx .yy z')
print(lis,type(lis))
print(lis.attr('href'))
#调用attr方法获取属性
print(lis.attr.href)
#与上作用相同
获取文本:
for li in lis:
print(li.text())
#获取纯文本
print(li.html())
#获取html文档