Redian新闻
>
教你如何使用 htmlq 提取 html 文件内容

教你如何使用 htmlq 提取 html 文件内容

科技

htmlq能够对 HTML 数据进行 sed 或 grep 操作。我们可以使用 htmlq 搜索、切片和过滤 HTML 数据。让我们看看如何在 Linux 或 Unix 上安装和使用这个方便的工具并处理 HTML 数据。


什么是htmlq?




htmlq类似于 jq,但用于 HTML。使用 CSS 选择器从 HTML 文件中提取部分内容。在 CSS 中,选择器用于定位我们想要设置样式的网页上的 HTML 元素。例如,我们可以使用此工具轻松提取图像或其他 URL。


安装htmlq




首先需要在系统中安装cargo然后使用cargo来安装htmlq:

[root@linuxprobe ~]# yum -y install cargo
[root@linuxprobe ~]# cargo install htmlq


设置可执行的路径




确保将 $HOME/.cargo/bin 添加到 PATH 变量中,以便能够使用 export 命令运行已安装的二进制文件:

[root@linuxprobe ~]# 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@linuxprobe ~]# curl -s https://www.linuxprobe.com | htmlq --attribute href a


人性化显示HTML:

[root@linuxprobe ~]# curl --silent https://mgdm.net | htmlq --pretty '#posts'


帮助手册




使用下面命令查看帮助页面:

[root@linuxprobe ~]# 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 数据。

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604241

Linux技术交流群:3762708

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
图的抽象:如何从概念的定义中提取模型?如何使用原生 NTFS 驱动替代旧版 FUSE NTFS 驱动 | Linux 中国Canadian Tire放福利, 店内藏了超多$100, 找到就能拿走! 这个方法教你如何找到【健康】夏日入睡困难?C罗睡眠专家教你如何优化睡眠我如何使用开源玩 RPG 游戏 | Linux 中国吕字源考只用HTML,如何打开手机相机?前端小哥现场教学我如何使用 Groovy 分析我的音乐目录 | Linux 中国如何使用 FreeDOS Edit | Linux 中国企业为何使用开源软件,又为何推动开源软件的发展 | Linux 中国痘痘反复好不了?教你如何自救,这一步很重要!走资派给他定阶级报复罪判死刑如何使用开源工具集合 FFmpeg 减小视频大小1.5万亿元专项债限额空间如何使用?一台道具车就能送公司上市,北美贾跃亭教你如何用嘴造电车。山寨香干马兰头如何使用 Linux sed 命令自动进行文件编辑 | Linux 中国攻略 | 如何使用康文署设施?全美2000多个社区中招!自来水中含有“永久化学物”!教你如何查看家里的自来水是否达标心衰患者如何使用SGLT2抑制剂?最新专家共识划重点巴托比教你如何克服拖延症教你如何管理多个 SSH 连接我如何使用现场 USB 设备恢复我的 Linux 系统 | Linux 中国手把手教你如何在美国银行给小朋友开户,如何监管孩子的账户“珍宝”追忆,流年似水新生入学必备!一文教你如何在美国大学薅医保羊毛!关键时候省下上万块重评住过的欧洲邮轮港口城市酒店 三,罗马免费! 皮尔区秋季旧电池回收日又来啦~6个小Tips教你如何安全处理不想回办公室?教你如何和公司谈判天干物燥,保湿重要!协和专家教你如何高效保湿。新生入学必备!一文教你如何在美国大学薅医保羊毛!加州政府大撒钱!零首付买房,还白送10%购房款?手把手教你如何申请~Linux——如何使用 evilscan 扫描网络如何使用 Dockerfile 创建自定义 Docker 镜像 | Linux 中国我是如何使用 Linux fmt 命令来格式化文本 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。