如何使用htmlq提取html文件内容
什么是htmlq?
htmlq类似于 jq,但用于 HTML。使用 CSS 选择器从 HTML 文件中提取部分内容。在 CSS 中,选择器用于定位我们想要设置样式的网页上的 HTML 元素。例如,我们可以使用此工具轻松提取图像或其他 URL。
安装htmlq
首先需要在系统中安装cargo然后使用cargo来安装htmlq:
[root@localhost ~]# yum -y install cargo [root@localhost ~]# cargo install htmlq
设置可执行的路径
确保将 $HOME/.cargo/bin 添加到 PATH 变量中,以便能够使用 export 命令运行已安装的二进制文件:
[root@localhost ~]# echo 'export PATH="$PATH:$HOME/.cargo/bin"' >> ~/.bash_profile [root@localhost ~]# . ~/.bash_profile
如何使用 htmlq 从 HTML 文件中提取内容?
下面是使用curl和htmlq的用法:
curl -s url | htmlq '#css-selector' curl -s url2 | htmlq '.css-selector' curl -s https://www.linuxprobe.com | htmlq --pretty '#content' | more
让我们找到页面中的所有链接。例如:
[root@localhost ~]# curl -s https://www.linuxprobe.com | htmlq --attribute href a

人性化显示HTML:
[root@localhost ~]# curl --silent https://mgdm.net | htmlq --pretty '#posts'

帮助手册
使用下面命令查看帮助页面:
[root@localhost ~]# htmlq --help htmlq 0.3.0 Michael Maclean <michael@mgdm.net> Runs CSS selectors on HTML USAGE: htmlq [FLAGS] [OPTIONS] [selector]... FLAGS: -B, --detect-base Try to detect the base URL from the <base> tag in the document. If not found, default to the value of --base, if supplied -h, --help Prints help information -w, --ignore-whitespace When printing text nodes, ignore those that consist entirely of whitespace -p, --pretty Pretty-print the serialised output -t, --text Output only the contents of text nodes inside selected elements -V, --version Prints version information OPTIONS: -a, --attribute <attribute> Only return this attribute (if present) from selected elements -b, --base <base> Use this URL as the base for links -f, --filename <FILE> The input file. Defaults to stdin -o, --output <FILE> The output file. Defaults to stdout ARGS: <selector>... The CSS expression to select [default: html]

总结
htmlq能够对 HTML 数据进行 sed 或 grep 操作。我们可以使用 htmlq 搜索、切片和过滤 HTML 数据。
本文原创地址:https://www.linuxprobe.com/htmlq-extract-html-content.html编辑:逄增宝,审核员:逄增宝
为您推荐一些与本文相关的文章:
- 百度新重磅芯片发布:自主指令集、仅0.1W
- office 2016/2010/2013已经激活了,还弹出激活提示框的解决办法
- Windows 11份额已达5% 11月份将大规模推送
- 为什么说物联网是 Linux 的未来?
- 《微信小程序项目开发实战》pdf版电子书免费下载
- C 关于使用异或运算操作概述
- 程序员的职场生涯
- 十八期课程培训结束。
- 《ASP.NET从入门到精通 第3版》pdf电子书免费下载
- 基于开源组件自主研发的G行新一代监控报警系统