pip install pyquery
import requests
from pyquery import PyQuery as pq
url = 'https://www.baidu.com/'
r = requests.get(url)
#实例化
doc = pq(r.text)
type(doc) # pyquery对象
对html内容通过css选择器进行选择,链式选择
选择标签li下的a标签
doc(“li”)(“a”)
a = doc(".ab a") # 先选择类class="ab"的标签,再选该标签下的a标签
a = doc("#ab a") # 先找id="ab"的标签,再选其下的a标签
只能取到第一个属性或值
href = doc("#ab a").attr("href") # 先取id为ab的标签,再找它的子标签a的href属性值
text = doc("#ab a").text()
取一批标签和属性值
items = doc("li a").items() # 取li标签下所有a标签的属性值和文本值
for item in items:
href = item.attr("href")
text = item.text()
print(text, href)
html = doc("div").html() # 取div下所有的标签及内容
html = doc("div").text() # 取div下文本,不要标签
from pyquery import PyQuery
html = '''
- 特色百科
-
'''
pq = PyQuery(html)
pq("div.aaa").after('''伟大的中国人''') #在类属性名为123的div标签后加此div标签
print(pq)
pq("div.aaa").append('''伟大的中国人''') #在类属性名为123的div标签内加此div标签
pq("div.aaa").attr("class","BBB") # 修改类的属性为“BBB”
pq("div.aaa").attr("id","BBB") # 如果类名为aaa的div标签没有id属性,则新增属性
pq("div.aaa").remove_attr("class") # 删除属性
pq("div.aaa").remove() # 删除类名为aaa的标签