httpx with css.
Project description
httpc
httpx with CSS
Installation
pip install -U httpc
Examples
>>> import httpc
>>> response = httpc.get("https://www.python.org/")
>>> response.match("strong") # CSS Matching
[<Node strong>, <Node strong>, <Node strong>]
>>> response.match("strong").bc.text() # Broadcasting
['Notice:', 'A A', 'relaunched community-run job board']
>>> response.single("div") # .single() method
ValueError: Query 'div' matched with 47 nodes (error from 'https://www.python.org/').
>>> response.single("div", remain_ok=True) # .single() method
<Node div>
>>> response.single("#content")
<Node div>
>>> httpc.get("https://python.org")
<Response [301 Moved Permanently]>
>>> httpc.common.get("https://python.org") # ClientOptions and httpc.common
<Response [200 OK]>
>>> httpc.common.get("https://hypothetical-unstable-website.com/", retry=5) # retry parameter
Attempting fetch again (ConnectError)...
Attempting fetch again (ConnectError)...
Successfully retrieve 'https://hypothetical-unstable-website.com/'
<Response [200 OK]>
>>> httpc.get("https://httpbin.org/status/400")
<Response [400 BAD REQUEST]>
>>> httpc.get("https://httpbin.org/status/400", raise_for_status=True) # raise_for_status as parameter
httpx.HTTPStatusError: Client error '400 BAD REQUEST' for url 'https://httpbin.org/status/400'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
>>> httpc.get("https://httpbin.org/status/500", raise_for_status=True, retry=3)
Attempting fetch again (status code 500)...
Attempting fetch again (status code 500)...
Attempting fetch again (status code 500)...
httpx.HTTPStatusError: Server error '500 INTERNAL SERVER ERROR' for url 'https://httpbin.org/status/500'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
Release Note
- 0.9.0: catcher에서 헤더가 다를 경우 다른 request로 취급하는 distinguish_headers 추가, ValueError 대신 RequestNotFoundError 사용, headers 최신화, 기타 리팩토링
- 0.8.0: httpc-clean 기능 data와 cookie 파라미터도 받도록 확장, 파이썬 3.10 이상으로 지원 범위 좁힘, catcher.install 함수를 catcher.install_httpx으로 이름 변경, retry 설정 시 httpx의 오류에만 retry하도록 변경
- 0.7.0: Add httpc.catcher (from httpx-catcher), add httpc-clean CLI script for sanitizing headers
- 0.6.0: Remove deprecated parameters, remove ClientOptions
- 0.5.0: Use Lexbor as default backend, fix and improve retry and raise_for_status
- 0.4.0: Fix incorrect type hint, rename CSSTool to ParseTool, CSSResponse to Response, bugfixes and small improvements
- 0.3.0: Add
newparameter, removeselectmethod, renamecsstomatchfrom CSSTool, remove cache_api.py (unused script), add url note, retry if server error on raise_for_status, bugfix - 0.2.0: Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
httpc-0.9.0.tar.gz
(38.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
httpc-0.9.0-py3-none-any.whl
(22.8 kB
view details)
File details
Details for the file httpc-0.9.0.tar.gz.
File metadata
- Download URL: httpc-0.9.0.tar.gz
- Upload date:
- Size: 38.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17e022d950f115c464bcf0050c340e0eca3f85f9ad00f2b751ba1e57ff494cc1
|
|
| MD5 |
b1a72d895659f0d32201fd7db2e0fcbf
|
|
| BLAKE2b-256 |
e91db5fe3d1a964d3d2cb04446634088d9d9889c3255b19e2072d3adccb5f9c3
|
File details
Details for the file httpc-0.9.0-py3-none-any.whl.
File metadata
- Download URL: httpc-0.9.0-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d25c683b16910c1f4a33d8a0de1856a2633c3653d307b7bb55b40e8107e7eebd
|
|
| MD5 |
2c0c10e6eb04fa9a6a65a719e9e0a806
|
|
| BLAKE2b-256 |
61bd024e4d3bc053bb7e374fb41c75409e8ff6f3c972da97d92512f632a77a23
|