Shell使用pup提取网页内容教程(通过CSS选择器方式)

如果我们要提取简单网页内容,可以用 sed awk 命令,通过正则匹配提取。如果内容比较复杂的,最好选择 HTML 解释器来做。这里推荐一个,名叫 pup,它基于 CSS 选择器匹配内容,安装和使用都非常简单。

pup 安装
pup 用 go 语言写成,安装只需下载编译好的执行文件放入 /usr/local/bin 目录即可。

cd /usr/local/bin
wget https://github.com/ericchiang/pup/releases/download/v0.4.0/pup_v0.4.0_linux_amd64.zip
unzip pup_v0.4.0_linux_amd64.zip && rm -f pup_v0.4.0_linux_amd64.zip
之后运行 pup --help 测试是否命令是否可用。

pup 使用
举个简单示例。例如这是需要提取内容的 test.html 文件。

<!DOCTYPE html>
<html>
<body>

<h1>The a element</h1>

<a href="https://www.hostarr.com">主机指南</a>

</body>
</html>
提取 h1 标签内容(如果不加 text{} 则提取整个 HTML 标签)。

cat test.html | pup 'body > h1 text{}'
提取 a 标签链接(也可以用此方法提取其它 HTML 标签属性)。

cat test.html | pup 'body > a attr{href}'
匹配更多复杂内容,需要配合 CSS3 选择器,具体可看 GitHub 项目页说明。

如果将 pup 用于 Shell 脚本,发现其存在一个问题。pup 没有错误状态码返回,无论是否匹配到内容都会返回 0 状态码,这对添加逻辑处理会带来麻烦。除了这点,其它都还好,暂时没发现什么问题,基本满足使用需求。

搬瓦工新手必读教程和推荐套餐

搬瓦工新手选择服务器必备的教程。

1、搬瓦工购买教程:搬瓦工VPS主机购买教程 选择一款合适的外贸主机

2、搬瓦工优惠码:BWH3HYATVBJW

3、搬瓦工套餐推荐:搬瓦工云服务器全部套餐对比列表 可选CN2 GIA和香港机房

4、搬瓦工测试IP:搬瓦工全部数据中心测试IP地址和下载测速文件

5、搬瓦工面板管理:搬瓦工KIWIVM面板的全部功能介绍

搬瓦工VPS的最便宜套餐和最具性价比套餐,简单整理如下:

方案CPU内存硬盘流量带宽机房价格购买
CN2 GT1核1GB20GB1TB1GbpsDC8等$49.99/年购买
香港2核2GB40GB500GB1Gbps香港$89.99/月购买
CN2 GIA2核1GB20GB1TB2.5GbpsDC6等$49.99/季购买
CN2 GIA10核32GB640GB10TB10GbpsDC6等$289.99/月购买
日本2核1GB20GB1TB2.5GbpsDC6等$49.99/季购买

本文结束。

未经允许不得转载:搬瓦工评测网 » Shell使用pup提取网页内容教程(通过CSS选择器方式)