Python中PyQuery库用法分享
前言
PyQuery是一个类似jQuery的Python库,它能够非常方便地对HTML或XML文档进行解析和操作。本篇攻略将详细讲解PyQuery库的使用方法。
安装方法
PyQuery可以通过pip安装,命令如下:
pip install pyquery
基本使用方式
假设我们要解析如下HTML代码:
<html>
<head>
<title>Document</title>
</head>
<body>
<div id="container">
<h1>hello, world</h1>
<ul class="list">
<li class="item">item 1</li>
<li class="item">item 2</li>
<li class="item">item 3</li>
</ul>
</div>
</body>
</html>
我们可以用PyQuery进行解析:
from pyquery import PyQuery as pq
# 获取HTML文档
html = """
<html>
<head>
<title>Document</title>
</head>
<body>
<div id="container">
<h1>hello, world</h1>
<ul class="list">
<li class="item">item 1</li>
<li class="item">item 2</li>
<li class="item">item 3</li>
</ul>
</div>
</body>
</html>
"""
# 初始化PyQuery对象
doc = pq(html)
然后我们就可以进行各种操作,例如:
# 获取文档标题
title = doc('title').text()
print('Title:', title)
# 获取 div#container 元素内的所有 <li> 元素的文本内容
items = doc('#container li').text()
print('Items:', items)
输出结果:
Title: Document
Items: item 1 item 2 item 3
示例#1:解析html页面
我们可以使用requests来获取网页内容,然后再交给PyQuery进行解析,例如:
import requests
from pyquery import PyQuery as pq
# 发送GET请求获取页面内容
url = 'https://www.baidu.com/'
response = requests.get(url)
html = response.text
# 初始化PyQuery对象
doc = pq(html)
# 获取页面标题
title = doc('title').text()
print('Title:', title)
输出结果:
Title: 百度一下,你就知道
示例#2:获取特定元素并提取信息
我们可以使用PyQuery选择器来获取需要的元素,然后进一步提取需要的信息,例如:
import requests
from pyquery import PyQuery as pq
# 发送GET请求获取页面内容
url = 'https://www.sina.com.cn/'
response = requests.get(url)
html = response.text
# 初始化PyQuery对象
doc = pq(html)
# 获取新闻列表
news_list = doc('#syncad_1 ul li a')
# 遍历新闻列表,提取信息
for news in news_list:
url = pq(news).attr('href')
text = pq(news).text()
print(url, text)
输出结果:
https://mil.news.sina.com.cn/2020-11-27/doc-iiznctke2001888.shtml 中宣部:积极探索新媒体形式 推出365篇文宣短片
https://news.sina.com.cn/o/2020-11-27/doc-iiznezxs3664289.shtml 台湾驻菲律宾代表谈台菲安全合作:应关注不需过度介入的领域
https://mil.news.sina.com.cn/2020-11-27/doc-iiznctke1999113.shtml 习近平出席金砖国家工商论坛并发表重要讲话(全文)
...
以上就是本篇攻略的所有内容,希望可以帮助大家更好地使用PyQuery库解析HTML或XML文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中PyQuery库用法分享 - Python技术站