Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery

PyQuery:一个类似jquery的python库

学习一时爽,一直学习一直爽

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

Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery_第1张图片

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/13p>
         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<

你可能感兴趣的:(Python爬虫学习,Python,爬虫)