Python学习:pyquery

一个 html 解析的库,类似前端的 jquery
更新于: 2022-09-06 01:04:36

前言

你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有了一些前端基础了解选择器却与另外一些奇怪的选择器语法混淆了呢? 

安装

pip install pyquery

pyquery

pyquery 可让你用 jQuery 的语法来对 xml 进行操作。这I和 jQuery 十分类似。如果利用 lxml,pyquery 对 xml 和 html 的处理将更快。 这个库不是(至少还不是)一个可以和 JavaScript交互的代码库,它只是非常像 jQuery API 而已。

使用

直接读取文件,传入 filename,即文件的地址

from pyquery import PyQuery as pq

doc = pq(filename='./hello.html')
els = doc('li a')
els.eq(0).attr('href')

直接 get 目标网页里的源码

from pyquery import PyQuery as pq

doc = pq('http://www.baidu.com')
title = doc('title').text()
print(title)

直接传入 html 字符串

from pyquery import PyQuery as pq
doc = pq("<html></html>")

cheatsheet

用法代码
获取网页 title
from pyquery import PyQuery as pq

doc = pq('http://www.baidu.com')
title = doc('title').text()
获取 meta 里的属性值
import requests
from pyquery import PyQuery as pq

res = requests.get('https://js.work',
                   headers={'user-agent': 'Mozilla/5.0 (Macintosh'})
html = res.text
doc = pq(html)
kw = doc('meta[name="keywords"]').attr('content')

参考