"""pyquery的CSS选择器方法""" from pyquery import PyQuery html = """ <div > <table class="tablelist" cellpadding="0" cellspacing="0"> <tr class="h"> <td class="l" width="374">职位名称</td> <td>职位类别</td> <td>人数</td> <td>地点</td> <td>发布时间</td> </tr> </table> </div> """ # 传递html内容初始化 res = PyQuery(html) # CSS选择器方法进行选择。#container为ID选择方法,.tablelist为class选择方法,tr为标签选择方法 # 这句的意思是选择ID为container节点内部的class为tablelist的节点中所有tr标签内容 print(res("#container .tablelist tr")) # <class 'pyquery.pyquery.PyQuery'> 类型为PyQuery类型 print(type(res("#container .tablelist tr"))) """ # 常用CSS选择器方法介绍 find() 查找结点的所有子孙节点 children() 查找子节点,也可以在括号中添加想要查找的子节点类型 parent() 获取目标的父节点 parents() 获取所有的祖先节点,可以在括号中添加css选择器选取想要的祖先节点 siblings() 兄弟节点,选择除本身之外的兄弟节点,可添加css选择器 # 选择完成之后会有许多节点,这需要遍历 items() 返回一个生成器,使用for循环就可以打印出来。循环的每一个节点还是PyQuery类型可以继续CSS选择器选择 # 获取属性和文本信息 attr() 获取找到的第一个属性,找多个需要循环遍历 text() 获取所有文本以空格分割开并合并成一个字符串 html() 获取找到的第一个html文本,找多个需要循环遍历 # 节点操作 addClass() 增加class属性 removeClass() 移除class属性 remove() 删除find("xx").remove()找到的指定内容 attr() 增加节点属性 text() 增加节点文本内容 html() 增加节点html内容 http://www.w3school.com.cn/css/index.asp # CSS教程 """ # 伪类选择器 doc = PyQuery(html) # 第一个td节点 td = doc("td:first-child") print(td) # 最后一个td节点 td = doc("td:last-child") print(td) # 第二个td节点 td = doc("td:nth-child(2)") print(td) # 第三个td节点之后的td节点 td = doc("td:gt(2)") print(td) # 偶数位置的td节点 td = doc("td:nth-child(2n)") print(td) # 包含、地点、文本的td节点 td = doc("td:contains(地点)") print(td)
相关文章: