Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/coderobe/hq

A HTML processor inspired by jq
https://github.com/coderobe/hq

css-selector html parser processor

Last synced: 14 days ago
JSON representation

A HTML processor inspired by jq

Awesome Lists containing this project

README

        

# hq

A HTML processor inspired by jq (https://github.com/stedolan/jq)

## Building & Usage

### Building

#### Dependencies
- meson
- modest (https://github.com/lexborisov/Modest)

#### Build
`meson build && ninja -C build`

The executable will be built to `build/hq`.

### Usage

#### Dependencies
- modest (https://github.com/lexborisov/Modest)

#### Use

Application help text:
```
hq (html query) - commandline HTML processor © Mara Robin Broda, 2018
Usage: build/hq [options] [mode argument]

Options:
-h, --help
show this text
-f, --file
file to read (defaults to stdin)
-d, --delimiter
delimiter character to use between results (defaults to newline)
-0, --null
uses \0 as delimiter


CSS selector to match against

processing mode
may be one of { data, text, attr }:
data - return raw html of matching elements
text - return inner text of matching elements
[mode argument: formatting]
supported modes: { plain, ansi, md }
default: plain
for plain, ANSI, or markdown formatted output respectively
attr - return attribute value of matching elements

attribute to return

Examples:
curl -sSL https://example.com | build/hq a data
curl -sSL https://example.com | build/hq a attr href
```

Example usage:

`curl -s https://coderobe.net | hq a data`
```
Keybase (coderobe)
Github (coderobe)
Twitter (coderobe)
```

`curl -s https://coderobe.net | hq a text`
```
Keybase (coderobe)
Github (coderobe)
Twitter (coderobe)
```

`curl -s https://coderobe.net | hq a attr href`
```
https://keybase.io/coderobe
https://github.com/coderobe
https://twitter.com/coderobe
```

You get the idea.

## License

This work, written by Mara Robin Broda (coderobe) in 2018, is licensed under the terms of the GNU Affero General Public License v3.0