from pyquery import PyQuery
html = '''
<head>
<title>hello</title>
</head>
'''
p = PyQuery(html)
p('head').html()
>>> <title>hello</title>
p('head').text()
>>> 'hello'
根据 HTML 标签来获取元素
from pyquery import PyQuery
html = '''
<div>
<p>test 1</p>
<p>test 2</p>
</div>
'''
p = PyQuery(html)
# 获取所有p标签
p('p')
>>> [<p>, <p>]
print(p('p'))
>>> <p>test 1</p>
<p>test 2</p>
# 获取第一个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 = '''
<div>
<p id='1'>test 1</p>
<p class='abc'>test 2</p>
</div>
'''
p = PyQuery(html)
# 返回 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 = '''
<div>
<p id='1'>test 1</p>
<p class='abc'>test 2</p>
</div>
'''
p = PyQuery(html)
# 查找div下的p标签
>>> p('div').find('p')
[<p#1>, <p.abc>]
# 返回div下的第一个p标签内容
p('div').find('p').eq(0).html()
>>> 'test 1'
根据类名、id 名获取元素
from pyquery import PyQuery
html = '''
<div>
<p id='1'>test 1</p>
<p class='abc'>test 2</p>
</div>
'''
p = PyQuery(html)
# 根据id名获取元素
p('#1').html()
>>> 'test 1'
# 根据class名获取元素
>>> p('.abc').html()
'test 2'
获取属性值
from pyquery import PyQuery
html = '''
<p id='my_id'>
<a href='http://hello.com'>hello</a>
</p>
'''
p = PyQuery(html)
# 获取a标签的href属性
p('a').attr('href')
>>> 'http://hello.com'
获取子元素
from pyquery import PyQuery
html = '''
<span>
<p id='1'>hello</p>
<p id='2'>world</p>
</span>
'''
p = PyQuery(html)
# 提取div的所有子元素
p.children()
>>> [<p#1>, <p#2>]
# 提取div下id=‘1’的子元素
p.children('#1')
>>> [<p#1>]
获取父元素
from pyquery import PyQuery
html = '''
<span>
<p id='1'>hello</p>
<p id='2'>world</p>
</span>
'''
p = PyQuery(html)
# 提取p标签的父元素
p('p').parents()
>>> [<span>]