jq, but for HTML
Snap-specific notes
This snap is NOT an official distribution of hq, please refer to the
snap's own issue tracker for support: https://github.com/brlin-tw/orf-hq-snap/issues
You can run the following command to expose the native hq
command
to your shell:
snap alias orf-hq.hq hq
Upstream project description
hq
reads HTML and converts it into a JSON object based on a series
of CSS selectors. The selectors are expressed in a similar way to
JSON, but where the values are CSS selectors. For example:
{posts: .athing | [ {title: .titleline > a, url: .titleline > a | @(href)} ] }
This will select all .athing
elements, and it will create an array
(| [{...}]
) of objects for each element selected. Then for each
element it will select the text of the titleline > a
element, and
the href
attribute (| @(href)
).
The end result is the following structure:
{
"posts": [
{
"title": "...",
"url": "..."
}
]
}