PyQuery:一个类似jquery的python库
学习一时爽,一直学习一直爽
Hello,大家好,我是 Connor,一个从无到有的技术小白。上一次我们说到了 BeautifulSoup
美味的汤,BeautifulSoup
很适合刚刚接触爬虫的新手使用。虽然 BeautifulSoup
好用,但是也有它的局限性。今天我们来讲一讲 PyQuery
,让我们以 JQuery的方式来快速提取我们想要的内容。废话不多说,让我们开始吧。

1. PyQuery 的简介
pyquery 允许您在 xml 文档上进行 jquery 查询。API 尽可能与 jquery 类似。pyquery 使用lxml 进行快速 xml 和 html 操作。当然这并不能用于生成 JavaScript 代码或者与 JavaScript 进行代码交互。所以,如果你想在 Python 上运行 JavaScript 代码,那么 pyquery 不是一个好的选择。
2. PyQuery 的简单使用
pyquery还是非常容易上手的。现在,我们以下面的这段 xml 代码为例,进行演示:
html = """
<html>
<head>
<title>我的示例</title>
</head>
<body>
<div class="book">
<a class="book_title" id="book" href="abc.html">百炼成钢</a>
<p class="book_author" id="author" >王者之势</p>
<p class="time" id="time">2019/01/13</p>
</div>
</body>
</html>
"""
首先,我们先将这段文档变成 PyQuery
对象,pyquery的操作基本都是通过PyQuery
对象来进行的。你可以这样做:
In [2]: from pyquery import PyQuery
In [3]: doc = PyQuery(html)
In [4]: type(doc)
Out[4]: pyquery.pyquery.PyQuery
使用 CSS 选择器可以快速地对节点进行选择,CSS 选择器是一种快速高效的选择方式,它可以在页面中实现 一对一,一对多,多对一的多种控制,使用 CSS 选择器无疑是一种快速便捷的提取方式,你只需要像JQuery一样进行选择可以了:
In [10]: print(doc(".book"))
<div class="book">
<a class="book_title" id="book" href="abc.html">百炼成钢</a>
<p class<