使用pyquery
PyQuery 了解前端学习PyQuery 会更容易
pyquery有三种引入html的方式
1.直接引入
html='.................'
from pyquey import PyQuery as pq
doc=pq(html)
2.URL初始化
doc=pq(url:'https://www.baidu.com')
对于url还有一种方法
import request
from pyquery impot PyQuery
doc=PyQuery(request.get('https://www.baidu.com').text)
print(doc('li'))
3.文件初始化
from pyquery import PyQuery as pq
doc=pq(filename='demo.html)
print(doc('li'))
pyquery 基本和前端的jQuery一样选择类,添加类,移除类。
基本css选择器
ex:
from pyquery import PyQuery as pq
doc=pq(html)
print(doc('#id .class1 li'))
查找子节点
from pyquery import PyQuery as pq
doc=pq(html)
items=doc('.list')
lis= items.find('li') find()查找的是所有的子孙节点
如果只想查找子节点
lis=items.childrn()
可以在查找的子节点中加入筛选
lis=items.children('.active')
父节点
con=items.parent() 直接的父节点
con=items.parents() 祖先节点
获取某个祖先节点
con=items.parents('.list')
兄弟节点
li=doc('.lis .item')
print(li.sibilings())
print(li.sibilings('.active')) 加入筛选
遍历调用items()方法:
from pyquery import PyQuery as pq
doc =pq(html)
lis=doc('li').items() 调用items()方法会得到一个生成器
for i in lis:
print(i)
获取信息
获取属性
from pyquery import PyQuery as pq
doc=pq(html)
a=doc('.lis-0 .active a')
print(a.attr('href'))
也可以print(a.attr.href)
调用attr()方法虽然a有多个 但是只返回一个结果 因此需要调用items()方法
doc=pq(html)
a=doc('li')
for item in a.items():
print(item.attr('href')