1.PyQuery
 1 from pyquery import PyQuery as pq
 2 
 3 # url初始化
 4 # html = ''
 5 # doc = pq(html)
 6 url = 'https://www.baidu.com'
 7 doc = pq(url=url)
 8 print(doc('head'))
 9 
10 # 文件初始化
11 doc = pq(filename='xxx.html')
12 print(doc('li'))
13 
14 # 基本css选择器
15 doc('#id .class a') # id 下 class 的 li 标签
16 doc('#id .class.a') # 并列表示同级
17 
18 # 查找元素
19 item = doc('.class')
20 lis = item.find('list')  # 子元素
21 lis = item.children() # 直接子元素 不常用
22 lis = item.children('.class')
23 
24 lis = item.parent()   #父元素
25 lis = item.parents()  #祖先节点
26 lis = item.parents('li')
27 
28 item.siblings()  #兄弟节点
29 item.siblings('')  #兄弟节点
30 
31 
32 # 遍历
33 lst = doc('li').items() #生成器
34 for ls in lst:
35     pass
36 
37 # 获取属性
38 lis.attr('href')
39 lis.attr.href
40 
41 # 获取文本
42 lis.text()
43 
44 # 获取html
45 lis.html()
46 
47 # dom操作
48 lis.remove_class('.class')
49 lis.add_class('.class')
50 
51 lis.attr('name','link')  # 加一个name='link' 的属性
52 lis.css('font-size','14px') # 加一个css属性
53 
54 lis.find('p').remove()  # 删除p标签
55 
56 # 伪类选择器
57 doc('li:first-child')  # 第一个元素
58 doc('li:last-child')  # 最后一个元素
59 doc('li:child(2)')  # 第二个元素
60 doc('li:gt(2)')  # 第二个元素以上
61 doc('li:nth-child(2n)')  # 偶数元素
62 doc('li:contains(second)') # 包含second 文本的
View Code

相关文章: