grep for HTML; CLI for pyquery
Project description
pquery
======
grep for HTML; CLI for pyquery
## Demo
```
$curl -s https://github.com/hupili/pquery | pquery '.content a' -p text
.gitignore
LICENSE
MANIFEST.in
README.md
pquery
setup.py
```
`pquery` is intended to integrate into your UNIX pipeline.
## Install
`pip install pquery`
## Syntax
```
Usage:
pquery <selector>
pquery <selector> -p <projector>
pquery <selector> -f <format_string>
pquery -h | --help
Options:
-p: project the dict onto field `<projector>`.
-f: equivalent of `<format_string>.format(item)`,
where item is the dict form of one selected HTML element.
-h | -v: shows this doc.
Dict keys:
'tag': The HTML tag
'html': Inner HTML of the element
'text': Inner text of the element
...: [optional] Other attributes: e.g. 'href'
```
## Why
`grep` is powerful for **lines**.
HTML is structured and not line processor friendly.
CSS selector is a natural grep for HTML.
This script simply wraps [pyquery](http://pyquery.readthedocs.org/en/latest/) to provide a CLI.
## Example 1
A [course webpage](https://class.coursera.org/crypto-008/wiki/LectureSlidesPublicCourse)
lists slides in `pdf` and `pptx`.
Want to download all the PDFs.
This saves you some click.
```
wget --load-cookies=cookies.txt -O- 'https://class.coursera.org/crypto-008/wiki/LectureSlidesPublicCourse' | pquery a -p href | grep pdf | xargs -P 5 -I{} wget {}
```
It's tedious to directly grep the PDF links out from HTML.
======
grep for HTML; CLI for pyquery
## Demo
```
$curl -s https://github.com/hupili/pquery | pquery '.content a' -p text
.gitignore
LICENSE
MANIFEST.in
README.md
pquery
setup.py
```
`pquery` is intended to integrate into your UNIX pipeline.
## Install
`pip install pquery`
## Syntax
```
Usage:
pquery <selector>
pquery <selector> -p <projector>
pquery <selector> -f <format_string>
pquery -h | --help
Options:
-p: project the dict onto field `<projector>`.
-f: equivalent of `<format_string>.format(item)`,
where item is the dict form of one selected HTML element.
-h | -v: shows this doc.
Dict keys:
'tag': The HTML tag
'html': Inner HTML of the element
'text': Inner text of the element
...: [optional] Other attributes: e.g. 'href'
```
## Why
`grep` is powerful for **lines**.
HTML is structured and not line processor friendly.
CSS selector is a natural grep for HTML.
This script simply wraps [pyquery](http://pyquery.readthedocs.org/en/latest/) to provide a CLI.
## Example 1
A [course webpage](https://class.coursera.org/crypto-008/wiki/LectureSlidesPublicCourse)
lists slides in `pdf` and `pptx`.
Want to download all the PDFs.
This saves you some click.
```
wget --load-cookies=cookies.txt -O- 'https://class.coursera.org/crypto-008/wiki/LectureSlidesPublicCourse' | pquery a -p href | grep pdf | xargs -P 5 -I{} wget {}
```
It's tedious to directly grep the PDF links out from HTML.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pquery-1.4.tar.gz
(3.1 kB
view details)
File details
Details for the file pquery-1.4.tar.gz
.
File metadata
- Download URL: pquery-1.4.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea8be57d7064c2c7331c4ccc35d6defd45b6028afc7d122c5a93c0ee3890ae7e |
|
MD5 | f48d132103b51ebc3fc036fc1259d239 |
|
BLAKE2b-256 | e4f17566c10c8f4aefe62dd0d6ec1618c92fff833948eee7154e722e91aa0c0c |