通常,我们使用Python网络爬虫抓取网页后,还需要对抓取的 HTML 内容进行处理来获得所需的内容。pyQuery 是 jQuery 的 Python实现,如果对 Web 前端有了解,特别是有用过 jQuery 的,那么 pyQuery 将会是你处理HTML内容的最佳选择。
教程基于如下环境:
- 系统: Windows 7 64位
- Python版本: 2.7
安装pyQuery
我们可以使用 pip 来方便的安装所需的 Python package,pip 的安装可以参考Windows安装Python机器学习包或Ubuntu/CentOS安装Python机器学习包中的”安装pip”这部分内容。
装好 pip 后,执行如下命令安装 pyquery 即可:
1 2 |
安装成功则最后输出
1 2 3 4 |
installing collected packages: cssselect, lxml, pyquery ... Successfully installled cssselect-xxx, lxml-xxx, pyquery-xxx |
使用 pyQuery 解析HTML内容
代码实例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
from pyquery import PyQuery as pyq html = ''' <html> <title>这是标题</title> <body> <p id="hi">Hello</p> <ul> <li>list1</li> <li>list2</li> </ul> </body> </html> ''' jq = pyq(html) print jq('title') # 获取 title 标签的源码 # <title>这是标题</title> print jq('title').text() # 获取 title 标签的内容 # 这是标题 print jq('#hi').text() # 获取 id 为 hi 的标签的内容 # Hello li = jq('li') # 处理多个元素 for i in li: print pyq(i).text() # list1 # list2 |
1 |
<span class="title">Python</span><i class="fa fa-files-o"></i><i class="fa fa-code"></i> |
结果是

pyquery python
所以对Web前端有所了解的话,使用起来真是非常得心应手。
更多用法可以查看官方的API文档:http://pyquery.readthedocs.org/en/latest/api.html,或是http://www.geoinformatics.cn/lab/pyquery/

够专业!