pyquery
pyquery相当于jQuery的python实现,可以用于解析HTML网页等。它的语法与jQuery几乎完全相同,对于使用过jQuery的人来说很熟悉,也很好上手
安装
pip3 install pyquery
注意:由于 pyquery 依赖于 lxml ,要先安装 lxml ,否则会提示失败。
pip3 install lxml
属性值
属性 | 描述 |
---|---|
.html()和.text() | 获取相应的 HTML 块或者文本内容, |
(selector) | 通过选择器来获取目标内容 |
.eq(index) | 根据索引号获取指定元素(index 从 0 开始) |
.find() | 查找嵌套元素 |
.filter() | 根据 class、id 筛选指定元素 |
.attr() | 获取、修改属性值 |
item() | 遍历标签 |
使用
-
导入,from pyquery import PyQuery
-
简单案例
def parse_page_data(self, response): #使用pyquery解析数据 pq = PyQuery(response) # find():根据css语法获取标签 # filter():根据css语法过滤标签 ranks = pq.find('div.scores_List dl') ranks = pq.find('div').filter('.scores_List').find('dl') print(type(ranks.items())) for dl in ranks.items(): school_info = {} school_info['url'] = dl('dt a').eq(0).attr('href') school_info['icon'] = dl('dt a img').eq(0).attr('src') school_info['adress'] = dl('dd > ul li').eq(0).text() print(school_info)