from pyquery import PyQuery
html = '''
hello
'''
p = PyQuery(html)
-
html()
:获取相应的 HTML 块
p('head').html()
>>> hello
-
text()
:获取文本块
p('head').text()
>>> 'hello'
根据 HTML 标签来获取元素
from pyquery import PyQuery
html = '''
test 1
test 2
'''
p = PyQuery(html)
# 获取所有p标签
p('p')
>>> [,
]
print(p('p'))
>>>
test 1
test 2
-
eq
: 根据给定的索引号得到指定元素
# 获取第一个p标签的内容
p('p').eq(0).html()
>>> 'test 1'
# 获取第二个p标签的内容
p('p').eq(1).html()
>>> 'test 2'
# 不用 eq 方法默认返回第一个
p('p').html()
>>> 'test 1'
根据类名、id 名得到指定元素
from pyquery import PyQuery
html = '''
test 1
test 2
'''
p = PyQuery(html)
-
filter()
:选择器
# 返回 id='1' 的p标签内容
p('p').filter('#1').html()
>>> 'test 1'
# 返回 class='abc' 的p标签内容
p('p').filter('.abc').html()
>>> 'test 2'
查找嵌套元素
from pyquery import PyQuery
html = '''
test 1
test 2
'''
p = PyQuery(html)
find()
# 查找div下的p标签
>>> p('div').find('p')
[,
]
# 返回div下的第一个p标签内容
p('div').find('p').eq(0).html()
>>> 'test 1'
根据类名、id 名获取元素
from pyquery import PyQuery
html = '''
test 1
test 2
'''
p = PyQuery(html)
# 根据id名获取元素
p('#1').html()
>>> 'test 1'
# 根据class名获取元素
>>> p('.abc').html()
'test 2'
获取属性值
from pyquery import PyQuery
html = '''
'''
p = PyQuery(html)
attr()
# 获取a标签的href属性
p('a').attr('href')
>>> 'http://hello.com'
获取子元素
from pyquery import PyQuery
html = '''
hello
world
'''
p = PyQuery(html)
children()
# 提取div的所有子元素
p.children()
>>> [,
]
# 提取div下id=‘1’的子元素
p.children('#1')
>>> [
]
获取父元素
from pyquery import PyQuery
html = '''
hello
world
'''
p = PyQuery(html)
parents()
# 提取p标签的父元素
p('p').parents()
>>> []