python爬虫(四)------bs4库(二)------BeautifulSoup的findall()、find(()、select()和select_one()等方法
pyquery库
- 安装
pip install pyquery
(1)属性和css
名称 | 解释 |
---|---|
attr(属性名) | 获取属性信息 |
attr(属性名,属性值) | 添加或修改属性信息 |
text() | 获取文本信息,如果含有其他HTML标签会自动去掉 |
text(“内容”) | 修改文本信息 |
html() | 获取文本信息,如果含有其他HTML标签会保留HTML标签 |
html(“内容”) | 修改文本信息 |
addClass() | 添加属性 |
toggleClass() | 添加切换属性 |
hasClass() | 判断是否含有该属性 |
removeClass() | 删除类 |
removeAttr() | 删除属性 |
height() | 获取元素高度 |
height( “100px”) | 设置元素高度 |
width() | 获取元素的宽度 |
width(“100px”) | 设置元素的宽度 |
hide() | 删除显示 |
show() | 添加显示 |
from pyquery import PyQuery
>>> pq = PyQuery("<a id = 'aaa' href = 'http://www.baidu.com' title = '百度'>百度链接</a>")
>>> pq.attr('href') # 获取href的值
'http://www.baidu.com'
>>> pq.attr(class_ = 'aclass') # 修改类的值
[<a#aaa.aclass>]
>>> pq.attr.class_ # 获取类的值
'aclass'
>>> pq.attr('id') # 获取id的值
'aaa'
>>> pq.attr.id = 'aid' # 修改id的值
>>> pq.attr.id # 获取id的值
'aid'
>>> pq.attr["title"] = '我是title' # 修改title的值
>>> pq.attr['title'] # 获取title的值
'我是title'
>>> pq.text() # text() 获取文本信息,如果含有其他HTML标签会自动去掉
'百度链接'
>>> pq.html() # html() 获取文本信息,如果含有其他HTML标签会保留HTML标签
'百度链接'
>>> pq.text("添加的内容")
[<a#aaa>]
>>> pq.text()
'添加的内容'
>>> pq.html("<span>添加的html</span>")
[<a#aaa>]
>>> pq.html()
'<span>添加的html</span>'
>>> pq.text()
'添加的html'
>>> pq = PyQuery("<a id = 'aaa' href = 'http://www.baidu.com' title = '百度'>百度链接</a>")
>>> pq.addClass('bbb') # 添加属性
[<a#aaa.bbb>]
>>> pq.attr.class_
'bbb'
>>> pq.toggleClass("ccc ddd")
[<a#aaa.bbb.ccc.ddd>]
>>> pq.attr.class_
'bbb ccc ddd'
>>> pq.removeClass("ccc ddd") # 删除属性
[<a#aaa.bbb>]
>>> pq.attr.class_
'bbb'
>>> pq.hasClass("aaa")
False
>>> pq.removeAttr("id")
[<a>]
>>> pq.height("100px")
[<a>]
>>> pq.height()
'100px'
>>> pq.width("50px")
[<a>]
>>> pq.width()
'50px'
>>> pq.hide()
[<a>]
>>> pq.attr.style
'display: none'
>>> pq.show()
[<a>]
>>> pq.attr.style
'display: block'
>>> pq.css("font-size","15px") # 添加css样式
[<a#aaa.bbb>]
>>> pq.attr("style")
'font-size: 15px'
>>> pq.css({"font-size":"18px","color":"red"}) # 添加多个css样式
[<a#aaa.bbb>]
>>> pq.attr("style")
'font-size: 18px; color: red'
>>> pq.css.color = 'yellow' # 修改样式
>>> pq.attr.style
'font-size: 18px; color: yellow'
python爬虫(六)------pyquery库(二)------PyQuery()、find()、filter()、items()、parents()、children()等方法